webForumDet fria alternativet
Logga in / Bli medlem

Functions problem

PHP

2 svar · 169 visningar · startad av gucken

Medlem sedan sep. 2001287 inlägg
Trådstart#1

Jag har följande problem, jag har en function som jag anropar för att kolla om en viss mail adress är på ban listan.

function email_giltig($email)
{
    # Kollar om email adressen verkligen har ett @.
    $resultat = strstr($email, "@");
    $svar = 1;
    if (strlen($resultat) == 0)
        $svar = 2;
    return $svar;
}

function email_bannad($email)
{
    # Kollar om email adressen är bannad av någon orsak.
    $sql = "SELECT ban_id FROM ban WHERE ban_adress = $email";
    $resultat = mysql_query($sql) or $svar = 2;
	if (mysql_num_rows( $resultat ) < 1)
	{ $svar = 2; } else { $svar = 1; }
    return $svar;
}

function email_finns($email)
{
    # Kollar om email adressen redan finns registrerad.
    $sql = "SELECT user_id FROM user WHERE user_mail = $email";
    $resultat = mysql_query($sql) or $svar = 2;
	if (mysql_num_rows( $resultat ) < 1)
	{ $svar = 2; } else { $svar = 1; }
    return $svar;
}

sedan kollar jag om svare(n) såhär.

        if (email_finns($mail) == 1 || email_bannad($mail) == 1 || email_giltig($mail) == 2)
{
echo "blabla";
die(" bla bla");
}

Den gnäller inte över nåt och allt ser fint ut, men den reagerar som att allt är ok hela tiden. Men det e juh inte det.

Medlem sedan juli 2000449 inlägg
#2

Har du provat att stycka upp

if (email_finns($mail) == 1 || email_bannad($mail) == 1 || email_giltig($mail) == 2)
{
echo "blabla";
die(" bla bla");
}

Det är lättare om du testar varje villkor för sig. Du kan ju också lägga till print() satser så att du ser vad som händer. Obs! Sätt " eller ' runt värdena i SQL-satserna.

Medlem sedan sep. 2001287 inlägg
#3

tackar, det fungerade klockrent med ' runt variablerna.

250 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)