Avatar billede -bikerbirk- Nybegynder
22. marts 2005 - 22:47 Der er 6 kommentarer

Loginsystem, simpelt

Nogen der kan fortælle mig hvad jeg gør galt.. ?! :S

<?PHP
 
global $nameinput;
require("config.inc.php");

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password);
$db = mysql_select_db($mysql_db, $conn);
$sql = "SELECT * FROM member WHERE nick ='$nameinput'";


echo "";

if ($func == "") {

echo "
<CENTER>
            <FORM action=index.php?page=login&func=login
            method=post>
            <TABLE cellSpacing=0 cellPadding=0 align=top width=0>
              <TBODY>
              <TR>
                <TD width=0 height=10>
                  <P align=left><INPUT class=box size=10 value=Nick name=nameinput></P></TD></TR>
              <TR>
                <TD width=0 height=10>
                  <P align=left><INPUT class=box size=10 value=Password name=passinput></P></TD></TR>
              <TR>
                <TD width=0 height=10>
                  <P><INPUT class=box type=hidden value=login name=func><INPUT class=box type=submit value=OK></P></TD>
                <TD width=0 height=10>
                  <P align=left></P></TD></TR></TBODY></TABLE>
            <P align=center></P></FORM></CENTER>";
}

elseif ($func == "login") {

$result = mysql_query($sql, $conn);

$table = mysql_fetch_array($result, MYSQL_ASSOC);

$pass = base64_decode($table["pass"]);

if($nameinput == $table["nick"] && $passinput == $pass && !empty($nameinput) && !empty($passinput))
{
$result = mysql_query($sql, $conn);
$table = mysql_fetch_array($result, MYSQL_ASSOC);

$usera = $table["nick"];
$login_user = $usera;
session_register ('login_user');

$passa = $table["pass"];
$login_pass = $passa;
session_register ('login_pass');

echo "</font><p align=center><a href=index.php><font face=Verdana color=#FFFFFF size=\"1\">Logged in</font></a></p><font color=\"#FFFFFF\" size=\"1\" face=\"Verdana\">";

echo "
<script language=\"JavaScript\">
url=(\"index.php\");
window.location=url
</script>
";

}
else
{
echo "<p align=center><a href=index.php?page=login><font face=Verdana size=2>Wrong nick or password</font></a></p>";
}
}



mysql_close($conn);



?>
Avatar billede plx Nybegynder
22. marts 2005 - 22:55 #1
Hvad er problemet? Måske det sædvandlige problem som stilles på Eksperten, at serverern ikke kører med register globals on?

Dvs variabler fra din form, $nameinput
skal hentes via $_POST['nameinput']
etc

http://dk2.php.net/register_globals
Avatar billede -bikerbirk- Nybegynder
22. marts 2005 - 22:56 #2
Ups, glemte lige.. Den bliver VED med at skrive "Wrong nick or password" lige meget om det er rigtigt eller forkert.

Kan godt prøve at ændre det hele til POST.
Avatar billede -bikerbirk- Nybegynder
22. marts 2005 - 22:59 #3
Baah.. Er træt.. Men kan det forståes ?! ;] Jeg har sat det hele rigtigt ind i MySQL men selvom jeg skriver pass og nick rigtigt spytter den bare fejlmeddelelsen ud.. ;S
Avatar billede Slettet bruger
23. marts 2005 - 00:51 #4
Når den ryger ned i else-kriteriet betyder det at

if($nameinput == $table["nick"] && $passinput == $pass && !empty($nameinput) && !empty($passinput))

.. i hvert fald ikke er opfyldt! :)

Jeg vil gætte på at plx's forslag er det der er tilfældet.
Avatar billede -bikerbirk- Nybegynder
27. marts 2005 - 18:59 #5
Så er det kommet til at se således ud. Stadig samme fejl, kan ikke logge ind.

<?PHP
 
require("config.inc.php");

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password);
$db = mysql_select_db($mysql_db, $conn);
$sql = "SELECT * FROM member WHERE nick = '$_POST[nameinput]'";


echo "";

if ($func == "") {

echo "
<CENTER>
            <FORM action=index.php?page=login&func=login
            method=post>
            <TABLE cellSpacing=0 cellPadding=0 align=top width=0>
              <TBODY>
              <TR>
                <TD width=0 height=10>
                  <P align=left><INPUT class=box size=10 value=Nick name=nameinput></P></TD></TR>
              <TR>
                <TD width=0 height=10>
                  <P align=left><INPUT class=box size=10 name=passinput type=password></P></TD></TR>
              <TR>
                <TD width=0 height=10>
                  <P><INPUT class=box type=hidden value=login name=func><INPUT class=box type=submit value=OK></P></TD>
                <TD width=0 height=10>
                  <P align=left></P></TD></TR></TBODY></TABLE>
            <P align=center></P></FORM></CENTER>";
}

elseif ($func == "login") {

$result = mysql_query($sql, $conn);

$table = mysql_fetch_array($result, MYSQL_ASSOC);

$pass = base64_decode($table["pass"]);

if($_POST['nameinput'] == $table["nick"] && $_POST['passinput'] == $pass)
{
$result = mysql_query($sql, $conn);
$table = mysql_fetch_array($result, MYSQL_ASSOC);

$usera = $table["nick"];
$login_user = $usera;
session_register ('login_user');

$passa = $table["pass"];
$login_pass = $passa;
session_register ('login_pass');

echo "</font><p align=center><a href=index.php><font face=Verdana color=#FFFFFF size=\"1\">Logged in</font></a></p><font color=\"#FFFFFF\" size=\"1\" face=\"Verdana\">";

echo "
<script language=\"JavaScript\">
url=(\"index.php\");
window.location=url
</script>
";

}
else
{
echo "<p align=center><a href=index.php?page=login><font face=Verdana size=2>Wrong nick or password</font></a></p>";
}
}



mysql_close($conn);



?>
Avatar billede -bikerbirk- Nybegynder
09. maj 2006 - 21:44 #6
Smid svar
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