/
Forside
/
Teknologi
/
Udvikling
/
PHP
/
Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn
*
Kodeord
*
Husk mig
Brugerservice
Kom godt i gang
Bliv medlem
Seneste indlæg
Find en bruger
Stil et spørgsmål
Skriv et tip
Fortæl en ven
Pointsystemet
Kontakt Kandu.dk
Emnevisning
Kategorier
Alfabetisk
Karriere
Interesser
Teknologi
Reklame
Top 10 brugere
PHP
#
Navn
Point
1
rfh
3959
2
natmaden
3372
3
poul_from
3310
4
funbreak
2700
5
stone47
2230
6
Jin2k
1960
7
Angband
1743
8
Bjerner
1249
9
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
Alle emner
Teknologi
Udvikling
PHP
Indstillinger
Spørgsmål
Tips
Usenet
Reklame
Statistik
Spørgsmål :
177552
Tips :
31968
Nyheder :
719565
Indlæg :
6408849
Brugere :
218887
Månedens bedste
Årets bedste
Sidste års bedste
Copyright © 2000-2024 kandu.dk. Alle rettigheder forbeholdes.