/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problem med validering
Fra : Nederbasse


Dato : 23-03-05 14:09

Hejsa

Jeg har problemer med noget validering fra en form.
Der er nogle felter der sklal være udfyldes og der er et ud af valgfrie
felter der skal udfyldes.
Jeg har problemer med rækkefølgen så koden ser nok rodet ud:

<?php
//henter fra form//
// connection //

$result = mysql_query("select username from bruger where username =
'$username'")
or die (mysql_error());
$number = mysql_num_rows($result);
if ($number > 0) {
echo "Brugernavnet er desværre optaget";
}
elseif ($password <> $tjekpass){
echo "Du har ikke skrevet det samme password";
}
elseif ($username && $password && $name && $adress);
{
elseif ($mobil=="" and $phone=="" and $email==""); HER ER EN PARSE ERROR
{
//sætter i db hvis alle kriterier er opfyldte //
}
else {
echo "Du skal udfylde alle felter med rød *";
}else {
echo "Du skal udfylde enten mobil, telefon eller email";
}
?>

Laver jeg en seperat test af validering af 3 felter virker det fint
Hvor går det galt

LarsN



 
 
Thomas Lindgaard (23-03-2005)
Kommentar
Fra : Thomas Lindgaard


Dato : 23-03-05 20:09

Hejsa

Din if-sætning ser lidt spøjs ud.

> if ($number > 0) {
> echo "Brugernavnet er desværre optaget";
> }
> elseif ($password <> $tjekpass){
> echo "Du har ikke skrevet det samme password";
> }

Hertil går det fint, men så kommer problemerne.

> elseif ($username && $password && $name && $adress);

Her er der også en parse error - du må _ikke_ have det semi-kolon efter
parentesen. Det får parseren til at tro, at denne gren af if-sætningen
kun består af en "gør ingenting" (et tomt statement), og den
efterfølgende blok omgivet af tuborg-parenteserne bliver fortolket som en
fejl, da en if-sætning enten skal se således ud:

if ( ... )
// et enkelt statement

eller:

if ( ... )
{
// et antal statements
}

> {
> elseif ($mobil=="" and $phone=="" and $email==""); HER ER EN PARSE ERROR

Igen et semi-kolon på afveje.

> {
> //sætter i db hvis alle kriterier er opfyldte //
> }
> else {
> echo "Du skal udfylde alle felter med rød *";
> }else {
> echo "Du skal udfylde enten mobil, telefon eller email";
> }

Du kan kun have een else-del i en if-sætning, og den _skal_ komme til
sidst - altså ikke noget med:

if ( ... )
else
elseif ( ... )

men derimod:

if ( ... )
elseif ( ... )
else

--
Mvh.
/Thomas


Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste