Jump to content
Geplaatst:
comment_1302138

Hey mensen,

Ik heb op mijn site een contactformulier gemaakt. Alleen als mensen nu het invullen en op versturen drukken, opent Outlook (of misschien bij sommige Hotmail). Weet iemand hoe ik dit kan wijzigen, en dat je dus geen afzender hoeft in te voeren als klant?

Mvg,

Kloep

  • Reacties 46
  • Bezichtigingen 3.5k
  • Created
  • Laatste reactie

Top Posters In This Topic

Featured Replies

Geplaatst:
  • Auteur
comment_1305085

ok :puh:

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

Geplaatst:
comment_1305114
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: door K.O.

Geplaatst:
  • Auteur
comment_1305211
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: door Kloep

Geplaatst:
comment_1305232

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>

Geplaatst:
  • Auteur
comment_1305263

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: door Kloep

Geplaatst:
  • Auteur
comment_1306184

Het contactformulier is inderdaad een beetje onoverzichtelijk geworden. :7

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

Geplaatst:
comment_1306199

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: door marcootje

Geplaatst:
comment_1306249

dat bedoel ik dus, die gebruik je niet :puh:

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: door marcootje

Geplaatst:
  • Auteur
comment_1306254

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: door Kloep

Geplaatst:
comment_1306274

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)

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.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.