Hey,

Ik heb een probleem met een php formulier,

Ik heb een lijst met producten die uit een mysql database worden gehaald, achter elk product staat een input box (form) waarin een value veranderd kan worden.

De naam van elke input box wordt uniek gemaakt door het product id erachter te zetten.

Maar als ik dus een value (in dit geval een datum) wil veranderen door op submit te drukken gebeurt er niks, nu ben ik er al achter dat het aan de dynamische id ligt die achter de naam staat van de submit button.

Dit is de submit knop:

<input type="submit" value="Bewerk" name="bewerkdate<?=$Productid?>">


En dit is de code waarmee hij kijkt of ik op submit heb gedrukt:

if(isset($_POST['bewerkdate$productid']))
{
}


Nu klopt dat onderste niet, maar hoe kan ik dit werkend maken?
Maak in html een array aan door [ en ] te gebruiken:

<input type="submit" value="Bewerk" name="bewerkdate[<?=$Productid?>]">

Je ontvangt dan op de server de array $_POST['bewerkdate'] met daarin een array met de verschillende productid's. Met een foreach kun je deze eenvoudig doorlopen.
<?php
if(isset($_POST['bewerkdate'])){
foreach($_POST['bewerkdate'] as $key => $value){
echo 'Dit is het productid: '.$key.' en dit is de waarde: '.$value.PHP_EOL;
}
}
?>
Bedankt, maar hoe gebruik ik dit als er nog een input box in het form zit met bijvoorbeeld de naam+id ?
Probeer het eens! En gebruik print_r($_POST); om te zien wat er nu allemaal naar de server wordt gestuurd.
Waarom het productid in een submitbutton verwerken? Met deze code check je of een formulier verzonden is, ongeacht de naam van de submit button:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// verdere checks en verwerking van het formulier
}
?>
Verrek! Ik had niet eens gezien dat het de submit-button betrof! Ging er automatisch van uit dat het ging om de naam van een textbox... Aannames, wat moet je er mee?

Gelukkig zijn er anderen die wél opletten, Jan bedankt!

Reageren