Hej... detta ämne måste ha tjatats ihjäl här på wF antagligen men jag hittade ingen tråd som hjälpte mig så jag gör en ny.
Jag försöker att fixa en login function på min sida och spara informationen i en session. Jag ska även "validera" användarnamn och lösenord från en mysql-tabell som heter "users".
Jag kör allt på en och samma sida (dvs index.php). Jag kommer inte någonstans så jag undrar om någon kan hjälpa till.
MvH
/Webslave
AndieeMedlem sedan mars 2000167 inlägg Vad har du kommit fram till?
Lova att inte skratta nu... jag är färsk med php... programmerat sedan mars/april ungefär :D
Inddex sidan börjar så här:
<?
session_start();
?>
Och en massa html grejs sedan detta:
<?
if(!empty($username)){
?>
<span class="text1">Du är inloggad som:<br>
<b><?=$username?></b>
</span><br>
<a href="?page=logout" class="link1">Logga ut</a>
<?
}else{
?>
<span class="bold1">Du är inte inloggad!</span><br>
<a href="?page=login" class="link1">Logga in</a>
<?}
?>
login sidan (index.php?page=login) ser ut så här:
<?
global $username,$password;
if(isset($username) and isset($password)){
CheckLogin();
}else{
LoggaIn();
}
function CheckLogin(){
global $username,$password;
$connect = mysql_connect("localhost", "","")
or die ("Kunde inte ansluta");
$databas = mysql_select_db("mindatabas");
$sql = "SELECT * FROM users WHERE username = '$username'";
$result = mysql_query("$sql");
if(!($rad=mysql_fetch_array($result))){
echo "<span class='rubrik1'>Felaktiga uppgifter!</span><br>";
echo "<a href='?page=login' class='link1'>Försök igen</a>";
session_unset();
session_destroy();
mysql_close($connect);
}else{
global $username,$password;
$connect = mysql_connect("localhost", "","")
or die ("Kunde inte ansluta");
$databas = mysql_select_db("mindatabas");
$sql = "SELECT * FROM users WHERE username = '$username'";
$result = mysql_query("$sql");
$rad = mysql_fetch_array($result);
session_register("$username");
session_register("$password");
?>
<img src="images/main/loggedin1.gif" width="266" height="49"> <br>
<table width="425" border="0" cellpadding="0" cellspacing="0">
<tr>
<td rowspan="3" align="left" valign="top" width="35"><img src="images/main/logosmall01.gif" width="33" height="31"></td>
<td height="20" valign="top" width="150"><span class="text1"> Välkommen <b><?=$rad['username']?></b></span></td>
</tr>
<tr>
<td height="20" valign="top" width="150"> <a href="?page=minasidor" class="link1">Mina sidor</a></td>
</tr>
</table>
<?
}
mysql_close($connect);
}
function LoggaIn(){
?>
<img src="images/main/login1.gif" width="266" height="49"> <br>
<form action="?page=login" method="post">
<table width="425" border="0" cellpadding="0" cellspacing="0">
<tr>
<td rowspan="4" align="left" valign="top" width="35"><img src="images/main/logosmall01.gif" width="33" height="31"></td>
<td height="20" valign="top" width="150" align="right"><span class="bold1"> Användarnamn: </span>
</td>
<td width="240">
<input type="text" name="username" class="form1"></td></tr>
<tr>
<td height="20" valign="top" width="150" align="right"><span class="bold1"> Lösenord: </span></td>
<td width="240">
<input type="password" name="password" class="form1"></td>
</tr>
<tr>
<td height="20" valign="bottom" width="150"> </td>
<td height="20" valign="bottom" width="240">
<input type="image" value="submit" name="validate" src="images/main/buttonskicka1.gif">
</td>
</tr>
</table>
</form>
<?
}
?>
*pinsamt*
Frågan borde nog vara... vad är INTE fel med denna kod... lol
LAMPMedlem sedan mars 2002777 inlägg Har inte med felet att göra, men sätt dina sessions till "register" med funktionen session_register(). Har läst att man alltid bör sätta den som "register". Kommer dock ej ihåg anledningen.
session_start();
$name = "LAMP";
session_register("name");
Läs mer här:
http://www.php.net/manual/en/function.session-register.php
ThACRoWMedlem sedan dec. 2001314 inlägg Det har han ju gjort, men det ska se ut så här istället:
session_register("username");
session_register("password");
Dvs. utan dollar-tecknet framför.
LAMPMedlem sedan mars 2002777 inlägg Ooops, missade de 2 raderna :r
Kan ni se något annat fel? I t.ex koden där formulärdatan ska hanteras för när jag ska "logga in" så anropas inte funktionen CheckLogin() när jag "submittar"... vet icke varför ???