hulp bij verwerk formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stefan H

stefan H

03/05/2012 15:46:09
Quote Anchor link
Gooedemiddag
kan iemand mij vertellen waarom ik bij elke else regel een unexpected T_else krijg

hoe moet ik dat anders doen hoop op een reactie

alvast bedankt
Quote:
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
49
50
51
<?php
include ('config.php');
{

if(isset($_POST['bedrijfsnaam']))
else{
    echo "er is geen bedrijfsnaam ingevuld";
    }


if(isset($_POST['contactpersoon']))
else{
    echo "er is geen contactpersoon ingevuld";
    }

    
if(isset($_POST['telefoonnummer']))
else{
    echo "er is geen telefoonnummer ingevuld";
    }

    
if(isset($_POST['email']))
else{
    echo "er is geen email adres ingevuld";
    }

    
if(isset($_POST['wachtwoord']))
else{
    echo "er is geen wachtwoord ingevuld";
    }

    
if ($wachtwoord == $wachtwoord2)
else{
    echo "de wachtwoorden zijn niet gelijk aan elkaar";
    }

if
($query = mysql_query("SELECT * FROM members WHERE email == '$email'"));
(
$email = mysql_num_rows($query));

echo " DIt email adres is al ingebruik";

else{
    (
$sbedrijfsnaam        =    mysql_real_escape_string( $_POST['bedrijfsnaam']));
    (
$scontactpersoon      =    mysql_real_escape_string( $_POST['contactpersoon']));
    (
$itelefoonnummer        =    mysql_real_escape_string( $_POST['telefoonnummer']));
    (
$semail            =    mysql_real_escape_string( $_POST['email']));
    (
$swachtwoord        =    mysql_real_escape_string( $_POST['wachtwoord']));
    mysql_query("INSERT INTO members (bedrijfsnaam, contactpersoon, telefoonnummer, email, wachtwoord) VALUES ('".$sbedrijfsnaam."', '".$scontactpersoon."', '".$itelefoonnummer."', '".$semail. "', '".$swachtwoord."')") or die (mysql_error());
  
    echo 'Je gegevens zijn succesvol in de database geplaatst';
}
}


?>
 
PHP hulp

PHP hulp

21/11/2024 21:18:14
 
Jurgen B

Jurgen B

03/05/2012 15:48:20
Quote Anchor link
Omdat je geen if functionaliteit hebt na de voorwaarde. Met hetgeen wat je nu doet kan je sowieso beter het volgende doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if (!isset($_POST['waarde'])) {
   echo 'Melding';
}

?>
Gewijzigd op 03/05/2012 15:49:27 door Jurgen B
 

03/05/2012 15:49:49
Quote Anchor link
Omdat je niks met de IF statements doet. Geen accolades

En wat doet de accolade op regel 3?

Toevoeging op 03/05/2012 16:02:05:

Dit zou moeten werken maar er zijn dingen in het script die beter kunnen:

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
49
50
51
52
53
<?php
include ('config.php');

if(!isset($_POST['bedrijfsnaam']))
    {

    echo "er is geen bedrijfsnaam ingevuld";
    }


if(!isset($_POST['contactpersoon']))
    {

    echo "er is geen contactpersoon ingevuld";
    }

    
if(!isset($_POST['telefoonnummer']))
    {

    echo "er is geen telefoonnummer ingevuld";
    }

    
if(!isset($_POST['email']))
    {

    echo "er is geen email adres ingevuld";
    }

    
if(!isset($_POST['wachtwoord']))
    {

    echo "er is geen wachtwoord ingevuld";
    }

    
if ($wachtwoord != $wachtwoord2)
    {

    echo "de wachtwoorden zijn niet gelijk aan elkaar";
    }

if
    {
    (
$query = mysql_query("SELECT * FROM members WHERE email == '$email'"));
    (
$email = mysql_num_rows($query));

     echo " DIt email adres is al ingebruik";
     }


else{
    (
$sbedrijfsnaam        =    mysql_real_escape_string( $_POST['bedrijfsnaam']));
    (
$scontactpersoon      =    mysql_real_escape_string( $_POST['contactpersoon']));
    (
$itelefoonnummer        =    mysql_real_escape_string( $_POST['telefoonnummer']));
    (
$semail            =    mysql_real_escape_string( $_POST['email']));
    (
$swachtwoord        =    mysql_real_escape_string( $_POST['wachtwoord']));
    mysql_query("INSERT INTO members (bedrijfsnaam, contactpersoon, telefoonnummer, email, wachtwoord) VALUES ('".$sbedrijfsnaam."', '".$scontactpersoon."', '".$itelefoonnummer."', '".$semail. "', '".$swachtwoord."')") or die (mysql_error());
  
    echo 'Je gegevens zijn succesvol in de database geplaatst';
}



?>
Gewijzigd op 03/05/2012 15:52:09 door
 
Stefan H

stefan H

03/05/2012 16:07:25
Quote Anchor link
bedankt dat werkt Jurgen B/ Daan Bonke

maar nu krijg ik natuurlijk na het verwerken gelijk alle echo's te zien terwijl hij wel alles ook opslaat in de database

hoe krijg ik nu de echo's alleen te zien als er daadwerkelijk niets is ingevuld ?
 
Gerhard l

gerhard l

03/05/2012 16:13:31
Quote Anchor link
Dat script van Daan kan je direct wel weggooien. Zal even snel een voorbeeldje maken..
 

03/05/2012 16:14:24
Quote Anchor link
Ik laat het wel aan Gerard over.
Gewijzigd op 03/05/2012 16:17:26 door
 
- SanThe -

- SanThe -

03/05/2012 16:16:14
Quote Anchor link
Wat is dit voor vage if()?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if
    {
    (
$query = mysql_query("SELECT * FROM members WHERE email == '$email'"));
    (
$email = mysql_num_rows($query));

     echo " DIt email adres is al ingebruik";
     }

?>
 

03/05/2012 16:18:26
Quote Anchor link
het enige wat ik net gedaan heb is accolades erbij en !isset
 
Gerhard l

gerhard l

03/05/2012 16:18:45
Quote Anchor link
edit: @Daan dan had ik niet door;)

Dit is een opzetje:
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
<?php
//errors willen we opvangen
$errors = array();

//veld controle
if(!isset($_POST['veld']) OR $_POST['veld'] == ''){
    //error toevoegen
    $errors[] = 'Veld niet ingevuld';
}


//ander veld controle
if(!isset($_POST['anderveld']) OR $_POST['anderveld'] == ''){
    //error toevoegen
    $errors[] = 'Ander veld niet ingevuld';
}


if(!isset($_POST['email']) OR $_POST['email'] == ''){
    //error toevoegen
    $errors[] = 'Ander veld niet ingevuld';
}

else{
    // query om email te controleren in database
    $query = mysql_query("blabla");
    if($query !== false){
        if(mysql_num_rows($query) != 0){
            $errors[] = 'Email bestaat al';
        }
    }

    else{
        //er ging iets mis in je query
        echo mysql_error();
    }    
}


//als je alle controles tot zover hebt gehad
if(empty($errors)){
    //geen errors dus insert
}
else{
    foreach($errors AS $err){
        //errors tonen
        echo $err.'<br/>';
    }
}

?>
Gewijzigd op 03/05/2012 16:22:31 door gerhard l
 

03/05/2012 16:23:23
Quote Anchor link
strlen($_POST['LoL']) > 0
is ook handig om erbij tussen te zetten

Toevoeging op 03/05/2012 16:24:28:

Daan Bonke op 03/05/2012 16:23:23:
strlen($_POST['LoL']) > 0
is ook handig om erbij tussen te zetten


Als een gebruiker minimaal aantal karakters moet invullen.
 
Jurgen B

Jurgen B

03/05/2012 16:25:32
Quote Anchor link
Persoonlijk gebruik ik liever || en && dan OR en AND bij programmeren, OR laat ik over voor (T-,MS,My)SQL ;) Verder is het stuk dat Gerhard geplaatst heeft een stuk beter dan je eerst had.
Gewijzigd op 03/05/2012 16:26:44 door Jurgen B
 
Stefan H

stefan H

03/05/2012 16:45:45
Quote Anchor link
bedankt allemaal voor de reactie en inderdaad dit werkt alleen krijg nu de melding

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'email' at line 1Je gegevens zijn succesvol in de database geplaatst

en als ik een veld niet invuld dan word alles toch in de DB geplaatst maar laat dan dat vak leeg hoe kan ik zorgen dat als er een vak wordt overgeslagen helemaal niets in de database komt alleen de echo krijg ?

alvast bedankt

Toevoeging op 03/05/2012 17:03:55:

Gerhard l op 03/05/2012 16:18:45:
edit: @Daan dan had ik niet door;)

Dit is een opzetje:
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
<?php
//errors willen we opvangen
$errors = array();

//veld controle
if(!isset($_POST['veld']) OR $_POST['veld'] == ''){
    //error toevoegen
    $errors[] = 'Veld niet ingevuld';
}


//ander veld controle
if(!isset($_POST['anderveld']) OR $_POST['anderveld'] == ''){
    //error toevoegen
    $errors[] = 'Ander veld niet ingevuld';
}


if(!isset($_POST['email']) OR $_POST['email'] == ''){
    //error toevoegen
    $errors[] = 'Ander veld niet ingevuld';
}

else{
    // query om email te controleren in database
    $query = mysql_query("blabla");
    if($query !== false){
        if(mysql_num_rows($query) != 0){
            $errors[] = 'Email bestaat al';
        }
    }

    else{
        //er ging iets mis in je query
        echo mysql_error();
    }    
}


//als je alle controles tot zover hebt gehad
if(empty($errors)){
    //geen errors dus insert
}
else{
    foreach($errors AS $err){
        //errors tonen
        echo $err.'<br/>';
    }
}

?>


nog een kleine vraag wat vul ik dan bij regel 23 in bij BLABLA

Toevoeging op 03/05/2012 17:18:11:

en er kunnen nog steeds 2 dezelfde email adressen in de database komen

heeft iemand nog een aantal tips ??

alvast bedankt

Toevoeging op 03/05/2012 19:17:18:

het verwerken van het formulier werkt nu super alleen zijn de velden nog steeds niet verplicht hoe doe ik dit nu ?

hoop dat iemand mij vanavond nog kan helpen

b.v.d.

Toevoeging op 03/05/2012 19:30:46:

heb hem inmiddels werkend toch bedankt
 



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.