Ik heb zojuist een registreer formulier gemaakt waarbij ik gebruik maak van "print" om errors als "vul uw naam in" weer te geven. Dit werkt prima. Nu ben ik echter bezig met een inlog formulier en wil ik weer print gebruiken, maar dan doet hij het niet. Terwijl ik het op precies dezelfde manier heb gedaan. Er komt trouwens geen foutmelding, maar errors als "vul uw naam in" komen gewoon niet tevoorschijn. Weet iemand waar dit aan kan liggen?

Hier voeg ik een waarde toe aan $error:

//Controleren of er iemand op de knop "inloggen" heeft gedrukt.
if ( isset($_POST['submit']))
{
// Haal de waarden uit het inlogformulier op.
$Emailadres = $_POST['Emailadres'];
$Wachtwoord = $_POST['Wachtwoord'];

//Controleren of alle invul velden zijn ingevuld.
if (empty($Emailadres ))
{
$error = "Vul uw Emailadres in.";
}

else if (empty($Wachtwoord ))
{
$error = "Vul uw wachtwoord in.";
}

En hier wil ik hem op het scherm "printen" :

<div id="colOne">
<?php
// Controleer of er foutmeldingen zijn en druk deze dan af.
if ( !empty( $error ) )
{
print "<p style='color: red;'>$error</p>";
}
?>
<!--inlogformulier-->
<form action="index.php" method="post">
Email adres: <input type="text" name="Emailadres"/>
Wachtwoord: <input type="password" name="Wachtwoord"/>
<input type="submit" value="inloggen"/>
</form><br>
Als u nog geen klant bent, kunt u zich hier registreren.<br/>
<a href="registreren.php" accesskey="2" title="webshop">Registreren</a>

</div>

<?php
    if ( isset($_POST['submit']))
?>

tegenwoordig gebruiken we:

<?php
    if($_SERVER['REQUEST_METHOD'] == 'POST')
?>



gebruik enkele quotes en haal je variabelen buiten quotes:

<?php
     print "<p style='color: red;'>$error</p>";//fout
     
     print '<p style="color: red;">'.$error.'</p>';
?>

zoals je ziet heb je nu ook geen last van je html-quotes.

en je hoeft je $_POST variabelen niet in een andere variabele te stoppen, dit maakt geen verschil.

[edit]typo + zet even [ignore]
[/ignore] om je code[/edit]
Probeer het eens zo:
<?php
// Haal de waarden uit het inlogformulier op.
$Emailadres = trim($_POST['Emailadres']);
$Wachtwoord = trim($_POST['Wachtwoord']);
?>
Super bedankt !!! Het werkt :)
De situatie die je nu gecreƫerd hebt zorgt er wel voor dat de gebruiker iedere keer opnieuw zijn emailadres in moet gaan vullen als zijn wachtwoord fout is. Dat is opzich niet zo'n ramp; maar in de toekomst (met een uitgebreid registratie formulier bijvoorbeeld) is het vrij vervelend als je alles opnieuw moet gaan invullen als je ergens een foutje maakt.

Welkom op PHPHulp trouwens ;).
en je kan ook beter ECHO gebruiken ipv PRINT
Dit voor snelheid en nog wat dingen die ikzelf niet uit mijn hoofd ken
Arjan Kapteijn schreef op 10.05.2008 16:28
De situatie die je nu gecreƫerd hebt zorgt er wel voor dat de gebruiker iedere keer opnieuw zijn emailadres in moet gaan vullen als zijn wachtwoord fout is. Dat is opzich niet zo'n ramp; maar in de toekomst (met een uitgebreid registratie formulier bijvoorbeeld) is het vrij vervelend als je alles opnieuw moet gaan invullen als je ergens een foutje maakt.

Welkom op PHPHulp trouwens ;).

Meer dames op PHPHulp!

Wat Arjan bedoelt kun je simpel zo doen:

    <input id="veld" name="veld" type="text" value="<?php if (isset ($_POST['veld'])) echo $_POST['veld']; ?>" />
Dat klopt niet? moet dan toch zo:

<input id="veld" name="veld" type="text" value="<?php if (isset ($_POST['veld'])) echo $_POST['veld']; ?>" />';
Jan heeft de <?php en ?> erbij gezegt voor wat kleur. De code die er staat klopt wel.
[edit]
NIks
[/edit]
Is hersteld.

@ Paul: let even op je taal.

Reageren