login  Naam:   Wachtwoord: 
Registreer je!
 Forum

$_POST[naam[array]] probleem (Opgelost)

Offline mebcat - 24/09/2008 22:14 (laatste wijziging 24/09/2008 22:16)
Avatar van mebcatNieuw lid Hier een deeltje van een uitgebreid formulier.
Bedoeling van het formulier is dat als je iets hebt aangevinkt dat het na verzenden nog steeds aangevinkt is. Zo moet je niet herbeginnen indien je een fout hebt gemaakt bij het invullen.
Dat is dus het eerste probleem wat niet werkt.
Het probleem zal met de dubbele array te maken hebben want de if functie werkt ook niet.

  1. <html>
  2.  
  3. <?php
  4. if(!empty($_POST['verzenden'])) {
  5. echo "verzonden <br>";
  6. for($teller = 1; $teller <= 4; $teller++){
  7. echo $teller ."<br>";
  8. if (!empty($_POST['box[$teller]'])){
  9. echo $_POST['box[$teller]'] ."<br>";
  10. }
  11. else{
  12. echo "niet goed"; }
  13. }
  14.  
  15. }
  16. ?>
  17.  
  18. <form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>" name="contactform">
  19. <input type="checkbox" name="box[0]" value="waarde1" <?php if($_POST['box[0]']== "waarde1"){ echo "checked"; } ?> > waarde1
  20. <input type="checkbox" name="box[1]" value="waarde2" <?php if($_POST['box[1]']== "waarde2"){ echo "checked"; } ?> > waarde2
  21. <input type="checkbox" name="box[2]" value="waarde3" <?php if($_POST['box[2]']== "waarde3"){ echo "checked"; } ?> > waarde3
  22. <input type="checkbox" name="box[3]" value="waarde4" <?php if($_POST['box[3]']== "waarde4"){ echo "checked"; } ?> > waarde4
  23. <input type="submit" value="verzenden" name="verzenden"> </td>
  24.  
  25. </form>
  26.  
  27. </html>

4 antwoorden

Gesponsorde links
Offline Abbas - 24/09/2008 22:21 (laatste wijziging 24/09/2008 22:24)
Avatar van Abbas Gouden medaille

Crew .NET
Variabelen buiten quotes zetten, en je moet je teller bij 0 beginnen en maar tot 3 laten gaan. De names van je CheckBoxen gaan van 0 tot en met 3!

  1. for($teller = 0; $teller < 4; $teller++)
  2. {
  3. echo $teller ."<br>";
  4. if (!empty($_POST['box['.$teller.']']))
  5. echo $_POST['box['.$teller.']'] ."<br>";
  6. else
  7. echo "niet goed"; }
  8. }
Offline Stijn - 24/09/2008 22:49
Avatar van Stijn PHP expert Je kan het ook doen met de foreach lus, aangezien $_POST['box'] een array is.

  1. foreach( $_POST['box'] as $key => $value ) {
  2. .....
  3. }
Offline Kr4nKz1n - 25/09/2008 08:43 (laatste wijziging 25/09/2008 08:43)
Avatar van Kr4nKz1n Onbekend Lijkt mij zo te moeten:
  1. echo $_POST['box'][$teller];


En dan offcourse stijns manier 
Offline mebcat - 25/09/2008 18:28
Avatar van mebcat Nieuw lid Ik heb de foreach methode gebruikt. Dat is idd beter dan een if. titje, je had ook gelijk met je opmerkingen over de cijfers.
Maar de array werkt enkel via Kr4nKz1n's methode

Hier kan ik denk ik wel mee verder. Bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.215s