Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 6 van 6

Onderwerp: checkbox mailer doet vreemd

  • Vraag is niet opgelost
  1. #1

    checkbox mailer doet vreemd

    Ik heb nu dus een form gemaakt in html, met daarbij een php scriptje om de resultaten uit dat form te mailen. In dat form zitten ook checkboxes, en dat werkte allemaal, maar nu niet meer. Ik weet om eerlijk te zijn niet meer wat ik verandert heb, waardoor het niet meer werkt
    Hier is de php:
    PHP Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    $aan =  $_POST['to']; 
    $onderwerp =  "Bestelling"; 
    $naam =  $_POST['naam']; 
    $email =  $_POST['email']; 
    $message =  "Producten:"; 
      
    foreach($_POST['check'] as $value) { 
    $check_msg .= "$value\n";
    } 
      
    $body =  "From: $naam\n E-Mail: $email\n Message:\n $message\n $check_msg"; 
      
    echo  "Uw bestelling is succesvol verstuurd."; 
    mail($aan,  $onderwerp, $body);

    Ik begrijp om eerlijk te zijn totaal niet wat er fout aan is, en ook overal op internet staat dat dit zou moeten werken, maar ik krijg een "Warning: Invalid argument supplied for foreach() in /home/u513566323/public_html/test/mailer.php on line 8" melding, en geen mailtje.

    Alvast bedankt voor de hulp,
    Jan Thiemen

  2. #2
    Hoe ziet je formulier eruit? De foutmelding die je krijgt betekent dat $_POST['check'] geen array is.
    Born to be root.

  3. #3
    Dit is mijn form (beperkt tot het checkbox gedeelte):

    Javascript Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    if (window.XMLHttpRequest)
                {// IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp=new XMLHttpRequest();
                }
            else
                {// IE6, IE5
                    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
    xmlhttp.open("GET","dehoek.xml",false);
    xmlhttp.send();
    xmlDoc=xmlhttp.responseXML; 
    x=xmlDoc.getElementsByTagName("product");
     
    for (var i=0;i<x.length;i++)
      { 
    document.write('<input name="check[]" id="checkbox'+i+'" type="checkbox" value="'+(x[i].getElementsByTagName("naam")[0].childNodes[0].nodeValue)+'" /><label for="checkbox'+i+'">'+(x[i].getElementsByTagName("naam")[0].childNodes[0].nodeValue)+' &nbsp; €'+(x[i].getElementsByTagName("prijs")[0].childNodes[0].nodeValue)+' </label>');
    }

    Zoals je ziet staat het in javascript en haalt het de info voor de checkboxes uit een xml bestand.

  4. #4
    Dat is raar. $_POST['check'] zou zo een array moeten zijn (als er minimaal een checkbox op de pagina verschijnt). Zet eens ergens in je PHP-script
    PHP Code:
    1
    
    print_r($_POST);
    Dan kan je zien wat er allemaal in de $_POST-array zit.
    Born to be root.

  5. #5
    Bedankt voor je hulp, ik heb het antwoord gevonden. In plaats van POST had ik GET moeten gebruiken, omdat ik in het aanroepen van het xml bestand ook GET gebruik. Ik heb alle POST's vervangen door GET's en het werkt. Dus in elk geval heel erg bedankt voor je hulp.

  6. #6
    Mega Senior phobia's avatar
    Geregistreerd
    4 september 2006
    Locatie
    Zevenaar
    Afstand tot server
    ±31 km
    ik zou ook wel ff controleren of $_GET['check'] verzonden is
    en of het ook een array is.
    vooral nu je met $_GET werkt, want een beetje computergebruiker kan makkelijk de url aanpassen en zorgen dat je script in de soep loopt!
    Kennis is Power en je kennis begint op Google!

Berichtenregels

  • U mag geen nieuwe discussies starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • Umag niet uw berichten bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Linkpartners
Aanbiedingen