[PHP]Velden weer vullen na foutmelding

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Bapawe
  • Registratie: September 2003
  • Laatst online: 28-08 15:07
Ik ben bezig met een gastenboek.
Als de verplichte velden niet zijn ingevuld krijgt de gebruiker een error message te zien doormiddel van een echo.
Ik had eerst gewoon als je backspace gebruikte dat de geposte informatie weer netjes in de velden stonden alleen dit werkt nu niet.
Ik hoop dat jullie een oplossing hebben.

De code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
if (isset($_POST['submit']))
{
    // Post variabelen opslaan
    $pusername = strip_tags($_POST['username']);
    $ppassword = strip_tags($_POST['password']);
    // Controleren of alle verplichte velden zijn ingevuld
    if (empty($pusername) || empty($ppassword))
    {
        echo "Vul alle verplichte velden in!";
    }
}
// Formulier weergeven
else 
{
    echo "  <table width='100%' border='0' cellspacing='0' cellpadding='0'>
            <form name='login' method='post' action='?action=login'>
                <tr>
                    <td>Username:</td>
                </tr>
                <tr>
                    <td><input type='text' name='username' size='30'></td>
                </tr>
                <tr>
                    <td>Password:</td>
                </tr>
                <tr>
                    <td><input type='password' name='password' size='30'></td>
                </tr>
                <tr>
                    <td height='5'></td>    
                </tr>
                <tr>
                    <td><input type='submit' name='submit' value='Inloggen'></td>
                </tr>
            </form>                     
            </table>";
}

www.twitch.tv/bapawe | www.twitter.com/bapawe


Acties:
  • 0 Henk 'm!

Verwijderd

Je waarden voor de velden doorgeven?

Andere oplossing is de validatie uit te voeren d.m.v. javascript.

Acties:
  • 0 Henk 'm!

  • Sosabowski
  • Registratie: Juni 2003
  • Laatst online: 18-09 21:03

Sosabowski

nerd

PHP:
1
echo $_POST['username'];

in je veld zetten?

The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts. -- Bertrand Russell


Acties:
  • 0 Henk 'm!

  • Bapawe
  • Registratie: September 2003
  • Laatst online: 28-08 15:07
Je bedoeld dus:
PHP:
1
<input type='text' name='username' size='30' value='".$_POST['username']."'>


Dat heb ik geprobeerd alleen dat werkt dus niet.
Als je op die submit button drukt krijg je de error te zien en de post waarden zijn dan gepost. Als je dan op backspace drukt of java history -1 gebruikt dan bestaan die post waarden toch niet meer of wel?

www.twitch.tv/bapawe | www.twitter.com/bapawe


Acties:
  • 0 Henk 'm!

Verwijderd

Trivian schreef op vrijdag 03 december 2004 @ 19:34:
Als je op die submit button drukt krijg je de error te zien en de post waarden zijn dan gepost. Als je dan op backspace drukt of java history -1 gebruikt dan bestaan die post waarden toch niet meer of wel?
Dan zorg je dat onder de foutmelding het form nog een keer geprint wordt met desnoods de foute velden met rode borders oid? Beter dan back button moet gebruiken denk ik.

Acties:
  • 0 Henk 'm!

  • Bapawe
  • Registratie: September 2003
  • Laatst online: 28-08 15:07
In plaats van de backbutton krijgen ze dan een link met java history.back().
Opnieuw het form printen zal wel gaan alleen dan heb je meteen 2 keer zoveel code, maargoed als het niet anders kan :)

[ Voor 54% gewijzigd door Bapawe op 03-12-2004 19:42 ]

www.twitch.tv/bapawe | www.twitter.com/bapawe


Acties:
  • 0 Henk 'm!

Verwijderd

Trivian schreef op vrijdag 03 december 2004 @ 19:41:
In plaats van de backbutton krijgen ze dan een link met java history.back().
Opnieuw het form printen zal wel gaan alleen dan heb je meteen 2 keer zoveel code, maargoed als het niet anders kan :)
Gelukkig hebben we ook functies, zodat we een beetje kunnen rondspringen in de code :)

Acties:
  • 0 Henk 'm!

  • Bapawe
  • Registratie: September 2003
  • Laatst online: 28-08 15:07
Klopt :) ik ben al ff bezig geweest en ik vind het zo wel een goede oplossing.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Controleren of formulier gepost is
if (isset($_POST['submit']))
{
    // Post variabelen opslaan
    $pusername = strip_tags($_POST['username']);
    $ppassword = strip_tags($_POST['password']);
    // Controleren of alle verplichte velden zijn ingevuld
    if (empty($pusername) || empty($ppassword))
    {
        echo "Vul alle verplichte velden in!";
        // Login formulier weergeven
        echo show_login_form();
    }
}
// Login formulier weergeven
else 
{
    echo show_login_form();
}

www.twitch.tv/bapawe | www.twitter.com/bapawe


Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
druk voor de gein eens op enter na het invullen van je wachtwoord :)

(dan doet je code het waarschijnlijk niet meer omdat de submit-button niet in je POST-waarden verschijnt)
Pagina: 1