marcootje Geplaatst: 20 maart 2009 Rapport Geplaatst: 20 maart 2009 je zet de inhoud in de string $body, wat je over het algemeen zo doet: $body = 'inhoud'; zo zet je daar een variabele in: $body = 'inhoud, dit is mijn naam: '.$naam.', leuk he?'; je kunt er ook newlines/enters in gebruiken, waarmee we uitkomen op mijn gegeven stukje: $body = ' Van: '.$voornaam.' '.$achternaam.' Geboortedatum: '.$geboortedatum.' '; over het algemeen kun je dus steeds op een nieuwe regel dit principe gebruiken: Geboortedatum: '.$geboortedatum.' Als je het helemaal volgens dit principe wilt doen is dit ook mogelijk: $body = ' Voornaam: '.$voornaam.' Achternaam: '.$achternaam.' Geboortedatum: '.$geboortedatum.' '; ik hoop dat het zo duidelijk is Reageren
Kloep Geplaatst: 20 maart 2009 Auteur Rapport Geplaatst: 20 maart 2009 (bewerkt) Het werkt nog steeds niet. Op het moment is dit mijn PHP file: Veel te veel ruimte! Bewerkt: 26 maart 2009 door Kloep Reageren
marcootje Geplaatst: 21 maart 2009 Rapport Geplaatst: 21 maart 2009 $Uitleg vorm dat mag niet , gebruikt een underscore: $Uitleg_vorm Reageren
Kloep Geplaatst: 21 maart 2009 Auteur Rapport Geplaatst: 21 maart 2009 ok We komen nu wel verder. Het probleem is nu dat hij altijd aangeeft dat niet alle velden zijn ingevuld. Weet je toevallig hoe dit komt? En mijn tweede vraag: hoe zorg ik ervoor dat hij na het verzenden doorverwijst naar een pagina? Mvg, Kloep Reageren
K.O. Geplaatst: 21 maart 2009 Rapport Geplaatst: 21 maart 2009 (bewerkt) Het probleem is nu dat hij altijd aangeeft dat niet alle velden zijn ingevuld. Weet je toevallig hoe dit komt?Waarschijnlijk ergens een typfoutje in de originele contact.html. Een hoofdletter/kleine letter door elkaar gehaald ofzo. Blijkbaar krijgt het script niet alle Post data correct binnen. Je kunt dit checken door de voorwaarden één voor één te testen. Dus begin met if(empty($achternaam)) Dan if(empty($voornaam)) En zo verder. Je kunt ook isset() gebruiken in plaats van empty(). Er zijn een aantal verschillen tussen deze functies. Deze staan hier uitgelegd. En mijn tweede vraag: hoe zorg ik ervoor dat hij na het verzenden doorverwijst naar een pagina?Da's makkelijk. if($verzonden) { echo("Je bericht is succesvol verzonden. Je zult zo spoedig mogelijk een bevestigingsmail ontvangen."); sleep(3); //pauzeert 3 seconden, zodat de persoon de bevestigingsboodschap kan lezen. header("Location: "http://www.google.nl/"); //of welke andere site dan ook. exit(); } Bewerkt: 21 maart 2009 door K.O. Reageren
Kloep Geplaatst: 21 maart 2009 Auteur Rapport Geplaatst: 21 maart 2009 (bewerkt) En mijn tweede vraag: hoe zorg ik ervoor dat hij na het verzenden doorverwijst naar een pagina?Da's makkelijk. Veel te veel ruimte! Ok, dank je wel! Wat ik eigenlijk wil is dat de tekst: "Je bericht is succesvol verzonden. Je zult zo spoedig mogelijk een bevestigingsmail ontvangen." op de lay-out van mijn site wordt weergeven. Ik maak dus eigenlijk een nieuwe pagina aan, met daarin deze tekst. Vervolgens hoeft hij dan niet vanzelf ergens naartoe door te linken. Is dit dan een kwestie van het volgende? Veel te veel ruimte! Of werkt dit niet? Bewerkt: 26 maart 2009 door Kloep Reageren
marcootje Geplaatst: 21 maart 2009 Rapport Geplaatst: 21 maart 2009 je kunt ook gewoon html in het php-bestand zetten: <html> <head> <title>titel..</title> </head> <body> <?php echo("<div>Ik ben geschreven door php!! :D<br>LEUK HE!! :) </div> "); ?> </body> </html> Reageren
Kloep Geplaatst: 21 maart 2009 Auteur Rapport Geplaatst: 21 maart 2009 (bewerkt) ehm, die snap ik niet helemaal. :$ Dit is tot nog toe mijn PHP: Veel te veel ruimte! En dit is mijn html formulier: Veel te veel ruimte! Bewerkt: 26 maart 2009 door Kloep Reageren
marcootje Geplaatst: 22 maart 2009 Rapport Geplaatst: 22 maart 2009 zozo dat is lekker onoverzichtelijk... ik bedoelde, gewoon zoals ik het zei, dat je html in een php-bestand kunt zetten of doelde jij daar niet op? wat snap je niet? wat lukt niet? Reageren
Kloep Geplaatst: 22 maart 2009 Auteur Rapport Geplaatst: 22 maart 2009 Het contactformulier is inderdaad een beetje onoverzichtelijk geworden. Als ik HTML in PHP zet, is het dan mogelijk om geen mail.php aan te hoeven maken? Wat moet ik dan aan HTML in de PHP zetten? Mvg, Kloep Reageren
marcootje Geplaatst: 22 maart 2009 Rapport Geplaatst: 22 maart 2009 (bewerkt) php moet sowieso in een php-bestand staan. als je php in een .html bestand zet zal de php opgestuurd worden naar de browser, welke het niet weergeeft waarschijnlijk, maar je kan het toch in de broncode zien (de reden dat je het niet ziet op de pagina is dat de browser het ziet als een gigantisch html-element) je wilde de output op een mooie pagina hebben, of in jouw woorden: Wat ik eigenlijk wil is dat de tekst: "Je bericht is succesvol verzonden. Je zult zo spoedig mogelijk een bevestigingsmail ontvangen." op de lay-out van mijn site wordt weergeven. dus: je kopieert de layout van een gewone pagina naar het php-bestand. neem bijvoorbeeld de pagina met het <form> erin. Je kopieert dat bestand naar mail.php, en vervangt het hele <form></form> (dus ook alles wat erin staat) door je php-code. hierbij ga ik er trouwens van uit dat je geen includes gebruikt, omdat al je paginas de extensie .html hebben Bewerkt: 22 maart 2009 door marcootje Reageren
Kloep Geplaatst: 22 maart 2009 Auteur Rapport Geplaatst: 22 maart 2009 Wat zijn includes precies? Reageren
marcootje Geplaatst: 22 maart 2009 Rapport Geplaatst: 22 maart 2009 (bewerkt) dat bedoel ik dus, die gebruik je niet dit is een include(-systeem): <?php include("includes/layout/header.php"); ?> alle inhoud, inhoud, inhoud<br> nog meer inhoud!! <?php include("includes/layout/footer.php"); ?> Bewerkt: 22 maart 2009 door marcootje Reageren
Kloep Geplaatst: 22 maart 2009 Auteur Rapport Geplaatst: 22 maart 2009 (bewerkt) ok, het formulier werkt nog niet. Ik krijg nog steeds een wit scherm. Zelf ben ik al lang aan het kijken naar de code, maar wordt er niet wijzer van en kan al helemaal geen fouten vinden. Ik heb nu HTML in mail.php staan. De body bevat de volgende tekst: Veel te veel ruimte! Bewerkt: 26 maart 2009 door Kloep Reageren
marcootje Geplaatst: 22 maart 2009 Rapport Geplaatst: 22 maart 2009 2 opmerkingen die het werkend kunnen maken: 1- Je moet consequent zijn in je hoofdlettergebruik Je gebruikt <input name="Voornaam"> maar $_POST['voornaam']. PHP is hoofdlettergevoelig (of hoe je het ook noemt), dus gebruik bij beide óf Voornaam óf voornaam. Dit geld voor ALLE variabelen 2- je header-location geeft een fatal error, die denk ik onderdrukt wordt: header("Location: "http://www.***.nl/index.html"); moet worden: header("Location: http://www.***.nl/index.html"); die http://www.***.nl/ is trouwens niet per se nodig, je kunt ook een relatief pad gebruiken (index.html) Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.