PHP Array to string Mulitple Submit Form












0















  public function query($sql, $parameters = )
{
$query = $this->pdo->prepare($sql);
$query->execute($parameters);
var_dump($parameters);
return $query;
}

public function delete ($id){

$parameters = [':id' => $id];

$this->query('DELETE FROM ' . $this->table . ' WHERE ' . $this-
>primaryKey . ' = :id', $parameters);

}

<?php
$query = $products->findAll();

if(isset($_POST['delete']))
{
if (isset($_POST['id']))
{
$products->delete([
':id' => $_POST['id'],
]);
}
else
{
echo "You did not choose a id.";
}
}
?>

<form action="" method="POST">
<?php
foreach($query as $row){
echo "<label for='product_id'>" . $row['p_name'] . " </label> <input type='checkbox' name='id' value = '" . $row['product_id'] . "'>";
}
?>
<input type="submit" name="delete" value="delete">

</form>


When i submit this form I get the error of Array to string conversion.
I suspect its something to with with 'name' for the form although i cannot figure out why and getting somewhat confused..










share|improve this question


















  • 2





    because id is an array as you have defined it to be an array id

    – B001ᛦ
    Jan 2 at 12:28
















0















  public function query($sql, $parameters = )
{
$query = $this->pdo->prepare($sql);
$query->execute($parameters);
var_dump($parameters);
return $query;
}

public function delete ($id){

$parameters = [':id' => $id];

$this->query('DELETE FROM ' . $this->table . ' WHERE ' . $this-
>primaryKey . ' = :id', $parameters);

}

<?php
$query = $products->findAll();

if(isset($_POST['delete']))
{
if (isset($_POST['id']))
{
$products->delete([
':id' => $_POST['id'],
]);
}
else
{
echo "You did not choose a id.";
}
}
?>

<form action="" method="POST">
<?php
foreach($query as $row){
echo "<label for='product_id'>" . $row['p_name'] . " </label> <input type='checkbox' name='id' value = '" . $row['product_id'] . "'>";
}
?>
<input type="submit" name="delete" value="delete">

</form>


When i submit this form I get the error of Array to string conversion.
I suspect its something to with with 'name' for the form although i cannot figure out why and getting somewhat confused..










share|improve this question


















  • 2





    because id is an array as you have defined it to be an array id

    – B001ᛦ
    Jan 2 at 12:28














0












0








0








  public function query($sql, $parameters = )
{
$query = $this->pdo->prepare($sql);
$query->execute($parameters);
var_dump($parameters);
return $query;
}

public function delete ($id){

$parameters = [':id' => $id];

$this->query('DELETE FROM ' . $this->table . ' WHERE ' . $this-
>primaryKey . ' = :id', $parameters);

}

<?php
$query = $products->findAll();

if(isset($_POST['delete']))
{
if (isset($_POST['id']))
{
$products->delete([
':id' => $_POST['id'],
]);
}
else
{
echo "You did not choose a id.";
}
}
?>

<form action="" method="POST">
<?php
foreach($query as $row){
echo "<label for='product_id'>" . $row['p_name'] . " </label> <input type='checkbox' name='id' value = '" . $row['product_id'] . "'>";
}
?>
<input type="submit" name="delete" value="delete">

</form>


When i submit this form I get the error of Array to string conversion.
I suspect its something to with with 'name' for the form although i cannot figure out why and getting somewhat confused..










share|improve this question














  public function query($sql, $parameters = )
{
$query = $this->pdo->prepare($sql);
$query->execute($parameters);
var_dump($parameters);
return $query;
}

public function delete ($id){

$parameters = [':id' => $id];

$this->query('DELETE FROM ' . $this->table . ' WHERE ' . $this-
>primaryKey . ' = :id', $parameters);

}

<?php
$query = $products->findAll();

if(isset($_POST['delete']))
{
if (isset($_POST['id']))
{
$products->delete([
':id' => $_POST['id'],
]);
}
else
{
echo "You did not choose a id.";
}
}
?>

<form action="" method="POST">
<?php
foreach($query as $row){
echo "<label for='product_id'>" . $row['p_name'] . " </label> <input type='checkbox' name='id' value = '" . $row['product_id'] . "'>";
}
?>
<input type="submit" name="delete" value="delete">

</form>


When i submit this form I get the error of Array to string conversion.
I suspect its something to with with 'name' for the form although i cannot figure out why and getting somewhat confused..







php arrays string forms






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 2 at 12:25









JackSJackS

113




113








  • 2





    because id is an array as you have defined it to be an array id

    – B001ᛦ
    Jan 2 at 12:28














  • 2





    because id is an array as you have defined it to be an array id

    – B001ᛦ
    Jan 2 at 12:28








2




2





because id is an array as you have defined it to be an array id

– B001ᛦ
Jan 2 at 12:28





because id is an array as you have defined it to be an array id

– B001ᛦ
Jan 2 at 12:28












1 Answer
1






active

oldest

votes


















0














Specifying on the end of the name parameter of an input will instruct the browser to send each input as an element of an array rather than a single string.



<input type='checkbox' name='id' >


You can see whats in the array with var_dump($_POST['id']). If you were just expecting a string, then remove the . Otherwise you will need to loop over each value and do something with it.






share|improve this answer
























  • I think i found the issue, so its posting two $_POST['id] and sending that to the statement which is why I'm getting the array issue or two sets of $parameters?

    – JackS
    Jan 2 at 13:03











  • its posting two lots of ids. The error you're getting is because you are trying to access the array as a string

    – atoms
    Jan 2 at 14:31











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54006368%2fphp-array-to-string-mulitple-submit-form%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














Specifying on the end of the name parameter of an input will instruct the browser to send each input as an element of an array rather than a single string.



<input type='checkbox' name='id' >


You can see whats in the array with var_dump($_POST['id']). If you were just expecting a string, then remove the . Otherwise you will need to loop over each value and do something with it.






share|improve this answer
























  • I think i found the issue, so its posting two $_POST['id] and sending that to the statement which is why I'm getting the array issue or two sets of $parameters?

    – JackS
    Jan 2 at 13:03











  • its posting two lots of ids. The error you're getting is because you are trying to access the array as a string

    – atoms
    Jan 2 at 14:31
















0














Specifying on the end of the name parameter of an input will instruct the browser to send each input as an element of an array rather than a single string.



<input type='checkbox' name='id' >


You can see whats in the array with var_dump($_POST['id']). If you were just expecting a string, then remove the . Otherwise you will need to loop over each value and do something with it.






share|improve this answer
























  • I think i found the issue, so its posting two $_POST['id] and sending that to the statement which is why I'm getting the array issue or two sets of $parameters?

    – JackS
    Jan 2 at 13:03











  • its posting two lots of ids. The error you're getting is because you are trying to access the array as a string

    – atoms
    Jan 2 at 14:31














0












0








0







Specifying on the end of the name parameter of an input will instruct the browser to send each input as an element of an array rather than a single string.



<input type='checkbox' name='id' >


You can see whats in the array with var_dump($_POST['id']). If you were just expecting a string, then remove the . Otherwise you will need to loop over each value and do something with it.






share|improve this answer













Specifying on the end of the name parameter of an input will instruct the browser to send each input as an element of an array rather than a single string.



<input type='checkbox' name='id' >


You can see whats in the array with var_dump($_POST['id']). If you were just expecting a string, then remove the . Otherwise you will need to loop over each value and do something with it.







share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 2 at 12:36









atomsatoms

1,93811125




1,93811125













  • I think i found the issue, so its posting two $_POST['id] and sending that to the statement which is why I'm getting the array issue or two sets of $parameters?

    – JackS
    Jan 2 at 13:03











  • its posting two lots of ids. The error you're getting is because you are trying to access the array as a string

    – atoms
    Jan 2 at 14:31



















  • I think i found the issue, so its posting two $_POST['id] and sending that to the statement which is why I'm getting the array issue or two sets of $parameters?

    – JackS
    Jan 2 at 13:03











  • its posting two lots of ids. The error you're getting is because you are trying to access the array as a string

    – atoms
    Jan 2 at 14:31

















I think i found the issue, so its posting two $_POST['id] and sending that to the statement which is why I'm getting the array issue or two sets of $parameters?

– JackS
Jan 2 at 13:03





I think i found the issue, so its posting two $_POST['id] and sending that to the statement which is why I'm getting the array issue or two sets of $parameters?

– JackS
Jan 2 at 13:03













its posting two lots of ids. The error you're getting is because you are trying to access the array as a string

– atoms
Jan 2 at 14:31





its posting two lots of ids. The error you're getting is because you are trying to access the array as a string

– atoms
Jan 2 at 14:31




















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54006368%2fphp-array-to-string-mulitple-submit-form%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

The term 'EXEC' is not recognized as the name of a cmdlet Powershell

NPM command prompt closes immediately [closed]

Error binding properties and functions in emscripten