Avatar billede ramu Nybegynder
28. december 2004 - 18:47 Der er 13 kommentarer og
1 løsning

Problem med loginsystem

Hey eksperter, jeg har et lille problem som jeg har en af jer kan løse .
Mit loginsystem fungere undemærket. Men jeg kan ikke finde ud af else og if.

<?
Kodeeksempel$result = mysql_query ("SELECT * FROM tabelnavn WHERE email = '$email' and kodeord = '$kodeord'");
if (!$email) echo "<font color='red'>Du har ikke indtastet et email!";
elseif (!$kodeord) echo "<font color='red'>Du har ikke indtastet en kodeord!";
else {
while($row = mysql_fetch_array($result)) {
$username_tjek = strtolower($_POST[email]);
$username2_tjek = strtolower($row[email]);
if($username_tjek == $username2_tjek && $_POST[kodeord] == $row[kodeord]) {
echo "Velkommen";
}
else echo "<font color='red'>Der er fejl i enten brugernavn eller password!";
}
}
?>

Sådan ser mit loginsystem ud, det eneste jeg ikke kan få til at fungere er at den ikke viser "Der er fejl i enten brugernavn eller password", er den sat forkert ind..?
Avatar billede rasmus-madsen Nybegynder
28. december 2004 - 18:58 #1
<?
Kodeeksempel$result = mysql_query ("SELECT * FROM tabelnavn WHERE email = '$email' and kodeord = '$kodeord'");
if (!$email) echo "<font color='red'>Du har ikke indtastet et email!";
elseif (!$kodeord) echo "<font color='red'>Du har ikke indtastet en kodeord!";
else {
while($row = mysql_fetch_array($result)) {
$username_tjek = strtolower($_POST[email]);
$username2_tjek = strtolower($row[email]);
if($username_tjek == $username2_tjek && $_POST[kodeord] == $row[kodeord]) {
echo "Velkommen";
} else { echo "<font color='red'>Der er fejl i enten brugernavn eller password!";
}
}
?>
Avatar billede rasmus-madsen Nybegynder
28. december 2004 - 19:00 #2
uden "Kodeeksempel" self..
Avatar billede dl Nybegynder
28. december 2004 - 19:02 #3
Du skulle prøve at lave noget mere structure... det ville en som mig, som kun lige er begyndt på php... det ville hjælpe dig selv senere, når din kode begynder at fylde mere og mere... og det hjælper dem som skal hjælpe dig.

og tilsidst: det er meget nemmere at finde en fejl og sætte nyt kode ind.

nået i denne stil:

<?
    $result = mysql_query ("SELECT * FROM tabelnavn WHERE email = '$email' and kodeord = '$kodeord'");
    if (!$email) {
        echo "<font color='red'>Du har ikke indtastet en email!";
    } else {
        if (!$kodeord) {
            echo "<font color='red'>Du har ikke indtastet en kodeord!";
        } else {
            while($row = mysql_fetch_array($result)) {
                $username_tjek = strtolower($_POST[email]);
.....
Avatar billede ramu Nybegynder
28. december 2004 - 19:03 #4
Det fungere ikke :S
Avatar billede ramu Nybegynder
28. december 2004 - 19:04 #5
dl> Det går jo nok
Avatar billede rasmus-madsen Nybegynder
28. december 2004 - 19:09 #6
<?
$result = mysql_query ("SELECT * FROM tabelnavn WHERE email = '$email' and kodeord = '$kodeord'");
if (!$email) { echo "<font color='red'>Du har ikke indtastet et email!";
} elseif {(!$kodeord) echo "<font color='red'>Du har ikke indtastet en kodeord!";
} else {
while($row = mysql_fetch_array($result)) {
$username_tjek = strtolower($_POST[email]);
$username2_tjek = strtolower($row[email]);
if($username_tjek == $username2_tjek && $_POST[kodeord] == $row[kodeord]) {
echo "Velkommen";
} else { echo "<font color='red'>Der er fejl i enten brugernavn eller password!";
}
}
?>

Heller ikke denne ?
Avatar billede ramu Nybegynder
28. december 2004 - 19:38 #7
Ja, følgende fejl viser den: "Parse error: parse error, unexpected '{', expecting '(' ".
og det er i elseif ved !kodeord den mener..
Avatar billede dl Nybegynder
28. december 2004 - 19:50 #8
linie hvad i din kode
Avatar billede dl Nybegynder
28. december 2004 - 19:52 #9
Hvis jeg ser under  www.php.net

Så efter en  elseif (  og ikke {

} elseif (!$kodeord) echo "<font color='red'>Du har ikke indtastet en kodeord!";
Avatar billede dl Nybegynder
28. december 2004 - 19:53 #10
hvad med den ... har bare flyttet {  til det sted hvor den skulle stå

<?
$result = mysql_query ("SELECT * FROM tabelnavn WHERE email = '$email' and kodeord = '$kodeord'");
if (!$email) { echo "<font color='red'>Du har ikke indtastet et email!";
} elseif (!$kodeord) { echo "<font color='red'>Du har ikke indtastet en kodeord!";
} else {
while($row = mysql_fetch_array($result)) {
$username_tjek = strtolower($_POST[email]);
$username2_tjek = strtolower($row[email]);
if($username_tjek == $username2_tjek && $_POST[kodeord] == $row[kodeord]) {
echo "Velkommen";
} else { echo "<font color='red'>Der er fejl i enten brugernavn eller password!";
}
}
?>
Avatar billede ramu Nybegynder
28. december 2004 - 19:56 #11
Nej det fungere ikke.. :S
Avatar billede dl Nybegynder
28. december 2004 - 20:00 #12
gider du ikke lige  kopier hele linien med fejlen. Hvad php serveren skriver.

Og er du sikker på du laver din mysql_query rigtig.
og skal have et eller anden  med  if (!$result['email'])  bla bla

som jeg siger jeg er kun lige begyndt, så jeg prøver stadig at forstå det hele... og det er sku svære end man tror.
Avatar billede ramu Nybegynder
28. december 2004 - 20:07 #13
bare glem det.
Avatar billede dl Nybegynder
28. december 2004 - 20:10 #14
k
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester