Toon posts:

[php] vaag check velden probleem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo mensen ik heb de volgende opbouw van stukje 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
<?
 
  include("login.php"); 


  if ($button=='Teken') { 

if ( (empty($field[naam])) or 
     (empty($field[bericht])) 
   ) { 

    echo "<font face=\"Verdana\" size=\"2\"><center>Er is een fout opgetreden, u heeft namelijk niet alle informatie goed ingevuld. // teruglink</center></font><br>"; 
  
    } else { 

$qinfo = "INSERT INTO gastenboek(datum,tijd,naam,email,homepage,bericht) 
          VALUES ('$field[datum]','$field[tijd]','$field[naam]','$field[email]','$field[homepage]','$field[bericht]')"; 
    mysql_query($qinfo); 
?> 
Bedankt <b><?echo $field[naam]; ?></b>, voor het toevoegen van u bericht. 

<?    
  } else { 
?>

<table border="0" cellpadding="0" cellspacing="1">
<form action="teken.php" method="post">
// etc... velden en alles
</form>
<? }; 
?>

Nu zit er een parse error in dit script het is een { of } maar als ik die ene weghaal die het volgens mij is werkt het script wel, maar niet goed.
Hij zegt dan wel fout, maar toch stuurt hij de hele mikmak naar de db.

Verwijderd

je laatste ; achter de } kan weg zo te zien...

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?
 
include("login.php"); 


if ($button=='Teken') 
{ 

    if ( (empty($field[naam])) or (empty($field[bericht])) ) 
    { 
            echo "<font face=\"Verdana\" size=\"2\"><center>Er is een fout opgetreden, u heeft namelijk niet alle informatie goed ingevuld. // teruglink</center></font><br>"; 
          } 
          else 
          { 

        $qinfo = "INSERT INTO gastenboek
                (
                    datum,
                    tijd,
                    naam,
                    email,
                    homepage,
                    bericht
                ) 
                      VALUES 
                      (
                          '$field[datum]',
                          '$field[tijd]',
                          '$field[naam]',
                          '$field[email]',
                          '$field[homepage]',
                          '$field[bericht]'
                      )
              "; 
            mysql_query($qinfo); 
    ?> 
    Bedankt <b><?echo $field[naam]; ?></b>, voor het toevoegen van u bericht. 

    <?    
      } 
      else 
      { 
    ?>

    <table border="0" cellpadding="0" cellspacing="1">
    <form action="teken.php" method="post">
    // etc... velden en alles
    </form>
<? 
} 
?>

2 fouten
1: ; achter de if mag weg
2: 2x else kan niet zoals jij het doet
else if() en dan else kan wel
maar else en dan else kan niet

<Edit>
ik heb geprobeerd het is leesbaarder te coden
dat zou jij ook eens moeten proberen
kijk eens onder de faq naar mijn stukje over coden

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op donderdag 29 november 2001 10:19 schreef D2k het volgende:
...
2 fouten
1: ; achter de if mag weg
2: 2x else kan niet zoals jij het doet
else if() en dan else kan wel
maar else en dan else kan niet

<Edit>
ik heb geprobeerd het is leesbaarder te coden
dat zou jij ook eens moeten proberen
kijk eens onder de faq naar mijn stukje over coden
Bedankt voor die fouten. Else en dan if is niet mijn sterkste punt. Wat dat coden betreft ik zal er naar kijken.

Bedankt zal kijken of het nu werkt

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 29 november 2001 10:19 schreef D2k het volgende:
<Edit>
ik heb geprobeerd het is leesbaarder te coden
dat zou jij ook eens moeten proberen
kijk eens onder de faq naar mijn stukje over coden
Je hebt er anders zelf ook nog steeds een inspring fout in laten zitten >:)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op donderdag 29 november 2001 10:24 schreef dusty het volgende:

[..]

Je hebt er anders zelf ook nog steeds een inspring fout in laten zitten >:)
nee hier niet hoor :)
maar got verneukt af en toe mijn indenting
ik indent gewoon in mijn editor
maar das met tabs
en dat vindt topix niet zo denderend

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Heb nu dit:
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
38
39
40
41
42
<?
if ( (empty($field[naam])) or (empty($field[bericht])) ) 
{ 
echo "<font face=\"Verdana\" size=\"2\"><center>Er is een fout opgetreden, u heeft namelijk niet alle informatie goed ingevuld. // teruglink</center></font><br>"; 
} 
elseif
(
$qinfo = "INSERT INTO gastenboek (

datum,
tijd,
naam,
email,
homepage,
bericht
) 
VALUES 
(
'$field[datum]',
'$field[tijd]',
'$field[naam]',
'$field[email]',
'$field[homepage]',
'$field[bericht]'
)
"); 

mysql_query($qinfo); 
?> 

Bedankt <b><?echo $field[naam]; ?></b>, voor het toevoegen van u bericht. 

<? 
} 
else 
{ 
?>
<form>
....
</form>
< } >
?>

Hij geeft nu geen parse error maar controleerd de velden ook niet. Hij gaat meteen naar Bedankt.... en dumpt dus gewoon het bericht in de db.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Doet iets met Cloud (MS/IBM)


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

"naam" & "bericht"

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 29 november 2001 10:39 schreef D2k het volgende:
http://www.php.net/manual/en/control-structures.php#control-structures.if
Goed antwoord, echter is dat pas het antwoord op de volgende vraag :+

het "waarom is een if ($variabele="string") { } altijd waar?

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op donderdag 29 november 2001 10:44 schreef dusty het volgende:

[..]

Goed antwoord, echter is dat pas het antwoord op de volgende vraag :+
ik probeer die vraag voor te blijven :+

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Hallo, jullie gaan me net iets te hard :)

na aanleiding van de manual ben ik tot dit gekomen
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
38
39
40
41
42
43
44
45
46
47
48
<?
if ($button=='Teken') 
{ 
if ( $field[naam] == '' ) 
{ 
echo "<font face=\"Verdana\" size=\"2\"><center>Er is een fout opgetreden</center></font><br>"; 
} 
elseif ($field[naam] != '')
{
$qinfo = "INSERT INTO gastenboek(
datum,
tijd,
naam,
email,
homepage,
bericht
) 
VALUES 
(
'$field[datum]',
'$field[tijd]',
'$field[naam]',
'$field[email]',
'$field[homepage]',
'$field[bericht]'
)
"; 
mysql_query($qinfo); 
?> 
Bedankt <b><?echo $field[naam]; ?></b>, voor het toevoegen van u bericht. 
<? 
} 
}

else 

{ 
?>
<table border="0" cellpadding="0" cellspacing="1">
<form action="teken.php" method="post">

......

</form>

<? 
} 
?>

Hij geeft echter nog steeds een post als het veld naam leeg is.

Verwijderd

kijk eens naar de functies isset/empty denk dat dat beter werkt
PHP:
1
2
3
4
5
<?
if (!isset($field[naam])){
  echo "fout";
}
?>

of
PHP:
1
2
3
4
5
<?
if (empty($field[naam])){
  echo "fout";
}
?>

Verwijderd

Topicstarter
Op donderdag 29 november 2001 11:10 schreef woeitje het volgende:
kijk eens naar de functies isset/empty denk dat dat beter werkt
PHP:
1
2
3
4
5
<?
if (empty($field[naam])){
  echo "fout";
}
?>
Oke thanx dat dit beter gaat maar hoe werkt het dan met elseif statement?

Ik bedoel heb 2 elsen, namelijk als naam niet leeg is posten en als de button nog niet is gepushed formulierenveld

Verwijderd

zoiets?

(empty en !isset is misschien beetje overdreven, maar ik weet zo 1-2-3 niet welke het beste gaat werken :)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
if ($button=="Teken"){
   if (empty($field[naam]) &amp;&amp; !isset($field[naam])){
     echo "fout, geen naam";
   } else {
     echo "bedankt";
     # sla hier de post op
   }

} else {
?>
<form></form>
<?
}
?>

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

ff een snelle schets (dit is zo simpel)
code:
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
if(niet gepost)
{
   formulier
}
else if(wel gepost)
{
  if(naam ingevuld)
  {
     verwerken 
  }
  else if(naam niet ingevulde)
  {
     fout geven ?
  }
//en dan kan je de rest ook nog afvangen met een else
  else
  {
     dit kan niet
  }

}
//en dan kan je de rest ook nog afvangen met een else
else
{
  dit kan niet
}

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op donderdag 29 november 2001 11:20 schreef woeitje het volgende:
zoiets?

(empty en !isset is misschien beetje overdreven, maar ik weet zo 1-2-3 niet welke het beste gaat werken :)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
if ($button=="Teken"){
   if (empty($field[naam]) &amp;amp;&amp;amp; !isset($field[naam])){
     echo "fout, geen naam";
   } else {
     echo "bedankt";
     # sla hier de post op
   }

} else {
?>
<form></form>
<?
}
?>
Bedankt is gelukt, moet nu alleen nog ff kijken of je ook eerst op naam kan kijken en dan op bericht.

Of is dit onmogelijk
dus eerst naam is niet ingevoerd ga terug en daarna als naam is ingevuld moet die kijken of bericht is ingevuld.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op donderdag 29 november 2001 11:32 schreef Ketje het volgende:

[..]

Bedankt is gelukt, moet nu alleen nog ff kijken of je ook eerst op naam kan kijken en dan op bericht.

Of is dit onmogelijk
dus eerst naam is niet ingevoerd ga terug en daarna als naam is ingevuld moet die kijken of bericht is ingevuld.
ik zou zeggen doe eens gek
probeer eens wat

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op donderdag 29 november 2001 11:35 schreef D2k het volgende:

[..]

ik zou zeggen doe eens gek
probeer eens wat
Met welke functie?
zal zelf te denken in de trant van :

when... then

maar ja zal wel iets van while zijn. Is er een topic ofzo over of doc (php.net maar dan moet ik eerst de functie weten >:)

Verwijderd

tip:

combineer die if() eens

if ($var && $var2){

}

&& staat voor AND

nu heb ik je toch aardig opweg geholpen d8 ik zo :)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op donderdag 29 november 2001 11:48 schreef Ketje het volgende:

[..]

Met welke functie?
zal zelf te denken in de trant van :

when... then

maar ja zal wel iets van while zijn. Is er een topic ofzo over of doc (php.net maar dan moet ik eerst de functie weten >:)
tja wat wil je nou?
ik probeer je goed te helpen maar je lijkt er niet veel moeite voor te willen doen :?

ik ga je iig niet meer helpen
veel plezier verder met php en GoT

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op donderdag 29 november 2001 11:56 schreef D2k het volgende:

[..]

tja wat wil je nou?
ik probeer je goed te helpen maar je lijkt er niet veel moeite voor te willen doen :?

ik ga je iig niet meer helpen
veel plezier verder met php en GoT
Ik denk dat jij een verkeerd beeld van mij hebt. Ik ben relatief nieuw met php en kan via een hint wel op het goede spoor komen. Wil er echt wel wat voor doen. Maar goed, in ieder geval bedankt voor je hulp en sorry als ik lui overkom.

En bedankt voor de && tip, heb het geprobeerd en snap de werking, nu nog verfijnen bedankt.

Verwijderd

Topicstarter
Op donderdag 29 november 2001 11:52 schreef woeitje het volgende:
tip:

combineer die if() eens

if ($var && $var2){

}

&& staat voor AND

nu heb ik je toch aardig opweg geholpen d8 ik zo :)
Dat d8 ik ook ben er namelijk al uit
hartstikke bedankt !!!!
Pagina: 1