Form input onthouden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Kris Peeters

Kris Peeters

20/12/2012 16:18:19
Quote Anchor link
O ja, die "register" staat al in een type="hidden" ...


In welke context zou je die checkForm gebruiken?
Ik zie je onmiddellijk naar een array grijpen, zou je dit willen testen op $_POST?

$formulier_validatie = checkForm($_POST);
 
PHP hulp

PHP hulp

18/11/2024 01:46:23
 
- Mark -

- Mark -

20/12/2012 16:18:37
Quote Anchor link
Ik begrijp niet goed waarom je explode nodig hebt. Dit kun je net zo goed in een array stoppen. Onderstaande zijn losse stukjes voor hoe ik normaal foutmeldingen in een array opsla en weergeef. Je zou ook eventueel de name van het formulier veld als key gebruiken als je de foutmelding doet toevoegen. Met deze gegevens kun je dan bijvoorbeeld kijken of je het formulier veld een andere kleur moet geven bijvoorbeeld wanneer iemand hem is vergeten in te vullen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
38
39
40
41
42
43
44
45
46
47
48
<?php

    # Set array $error_log voor het opslaan van alle foutmeldingen.

        $error_log = array();


    # Er gaat iets fout.

        if(1 != 2){

        # Foutmelding toevoegen.

            $error_log[] = 'Helaas, 1 is niet gelijk aan 2.';
        
        }



    # Er gaat weer iets fout.
    
        if(1 != 3){

        # Foutmelding toevoegen.

            $error_log[] = 'Helaas, 1 is ook niet gelijk aan 3.';
        
        }



    # Controleren of alles is goed gegaan.

        if(empty($error_log)){

            // Alles is goed gegaan, we kunnen dus verder.

        }


    # Controleren of er foutmeldingen zijn om weer te geven.

        if(!empty($error_log)){

        # Er is iets fout gegaan dus we gaan de foutmeldingen weergeven.    

            echo '<ul><li>'.implode('</li><li>', $error_log).'</li></ul>';
        }


?>
 
Dennis WhoCares

Dennis WhoCares

21/12/2012 12:54:37
Quote Anchor link
Om terug te komen op mijn functie voor deze topic
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
function checkForm($formvalues,$descriptions) {
    $values=explode(",",$formvalues);
    $description = explode(",", $descriptions);
    $count = 0;
    $error = "";
    foreach ($values as $value) {
        if(isset($_POST[$value])) {
            if($_POST[$value]<>"") {
                $_SESSION[$value] = $_POST[$value];
            } else {
                $_SESSION[$value] = "";
                $error = $error . "<li>" . $description[$count] . " is niet ingevuld.</li>";
            }
        } else {
            $_SESSION[$value] = "";
            $error = $error . "<li>" . $description[$count] . " is niet ingevuld.</li>";
        }
        $count++;
    }
    if($error<>"") {
        return $error;
    } else {
        foreach($values as $value) {
            session_unset($_SESSION[$value]);
        }
        return "";
    }
}


Nou heb ik een sessie loggin staan, waarmee ik ingelogd ben als gebruiker
Ik ben een bericht aan het schrijven in het gastenboek en ik doe
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
if(isset($_POST['send'])) {
    if(checkForm("gb_name,gb_msg","Naam,Bericht")<>"") {
        //Verstuur bericht
    } else {
        echo checkForm("gb_name,gb_msg","Naam,Bericht");
    }
} else {
    //Gastenboek formulier
}

Nadat het goed is gegaan, of terwijl de sessies worden unset. Doet ie ook mijn sessie loggedin weghalen. Ik heb gelezen dat session_unset() alle sessies weg haald, maar ik geef toch de waarde mee van welke sessie weg moet? session_unset($_SESSION[$value]) ?
Terwijl de functie in principe alleen de sessies gb_name en gb_msg moet unsetten

p.s. Excuses aan Kris & Mark,
Ik wist niet dat er een nieuwe pagina kwam, eigenlijk zou het mooi wezen als de vraag bovenin staat, en vervolgens de laatste reacties te zien zijn.

@kris, nee ik wil deze aanroepen als hierboven:
checkForm("form_waarde1,form_waarde2","Omschrijving1,omschrijving2")

@mark, Ja dit is eigenlijk misschien wel beter, ik ga hiernaar kijken om alle foutmelding ook in een array te stoppen, is overzichtelijker je hebt gelijk :)
En kleur meegeven doe ik nu aan de sessie van de niet ingevulde post, is wel strak nou :D
Gewijzigd op 21/12/2012 13:14:57 door Dennis WhoCares
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.