Avatar billede nwn Nybegynder
05. november 2007 - 17:32 Der er 7 kommentarer og
1 løsning

Autologin forfanden! :D

Hej

jeg har siddet med det autologin i noget tid, og har prøvet at køre flere guides, men det crap vil sgu ikke virke :\

Det består af 3 filer, index.php (sender videre hvis man har cookie, ellers login side)

login.php (tjekker oplysninger, og hvis de er rigtige, sætter den en session, og den sætter OGSÅ en cookie, hvis autologin checkboxen på login siden er checked)

index2.php (hvis brugernavn er = "ingenting" så udskriver den fejl meddelse, men eller skal den vise rigtige side)

Jeg har valgt at logge ind med autologin, jeg får så rigtigt nok sat en cookie, og selvfølgelig en session.

Jeg kommer så til index2.php hvor den viser det rigtige.

Når jeg så lukker browseren, åbner en ny og går ind på siden igen, så smider den mig til index2.php fordi jeg har en cookie ved navn autologin, men så skriver den der fejl meddelse.

Så har jeg prøvet at gøre sådan i index.php, så hvis man har den cookie, så inden den sender en videre, så sætter den en session, selvfølgelig ved navn brugernavn og den sætter den session til = $_COOKIE[autologin]

Men så viser den bare index2.php BLANK ?????!

Er der ikke nogle der kan hjælpe? Jeg giver noget kode:


index.php
--------------------------------------------
<?
session_start();
if($_COOKIE[autologin]) {
$_SESSION['brugernavn'] = $_COOKIE[autologin];
?><script language="javascript"> document.location.href="index2.php"; </script><?
}
?>
<form action="login.php" method="post">
<b>Velkommen til benyttelse af startsiden</b><br><br>I denne nye version, får du blandt andet mulighed for, selv at vælge baggrundsfarve, tekstfarve, skrifttype osv.<br><br>Inden du benytter dig af startsiden, skal du først og fremmest, anvende den som startside.<br><br>Dette gøres ved at klikke her: <a href="#" onclick="this.style.behavior='url(#default#homepage)';this.sethomepage('http://www.webadmin.frac.dk/startside/index.php');">[Anvend]</a><br><br>Du er nu klar, indtast dine oplysninger nedenunder:
<br><br>NOTE: Husk at afkrydse Auto<br><br>
<table>
<tr><td width="100">Brugernavn:</td><td width="100"><input type="text" name="user"></td></tr>
<tr><td width="100">Password:</td><td width="100"><input type="password" name="pass"></td></tr>
<tr><td width="100">Auto:</td><td width="100"><input type="checkbox" name="autologin" value="1"></td></tr>
<tr><td width="100">&nbsp;</td><td width="100"><input type="submit" value="Login"></td></tr>
-------------------------------------------------------------
index2.php
----------------------------------------------------------
<?PHP
session_start();
$con = mysql_connect('192.168.1.3', 'webadmin', 'pass');
mysql_select_db("webadmin", $con);
$user = $_SESSION['data'];
$get = mysql_query("SELECT * FROM startside WHERE user = '$user' LIMIT 1") or die(mysql_error());
while($show = mysql_fetch_array($get)) {


$id = $_POST['id'];
$pass = $_POST['pass'];
$user = $_POST['user'];
$bgfarve = $_POST['bgfarve'];
$tekstfarve = $_POST['tekstfarve'];
$skrifttype = $_POST['skrifttype'];
$skrift3 = $_POST['skrift3'];
if($_SESSION[brugernavn] == "")
{
?><b>ERROR:</b> Your access to this page has been denied, please use the login form to access the user sessions: <a href="index.php">index.php</a><?
} else {
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html>
<head>
    <title>Startside</title>
<meta name=\"Generator\" content=\"Stone's WebWriter 4\">
</head>
<body>
<center style=\"margin-top:90px\";>
<form action=\"update.php?id=$show[id]\" method=\"POST\">
<table border='1' style='border-collapse: collapse; background-color:$show[bgfarve]' bordercolor='#000000' width='500' height='300'><tr>
<td width='100%' height='100%' valign='top' align='left'>

<select size=\"1\" onchange=\"window.open(this.options[this.selectedIndex].value,'_self')\" style=\" background-color: #FFFFFF; border-style: solid; border-width: 1px; font-family: verdana, arial, sans-serif; font-size: 10px; color: #000000; padding: 0px;\">
<option selected=\"selected\">Hjemmeside</option>
<option value=\"http://www.arto.dk\">Arto</option>
<option value=\"http://www.google.dk\">Google</option>
<option value=\"http://www.msn.dk\">MSN</option>
<option value=\"http://www.tdc.dk\">TDC</option>
<option value=\"http://www.youtube.com\">Youtube</option>
</select><select name='tekstfarve' size=\"1\" onchange=\"this.form.submit();\" style=\" background-color: #FFFFFF; border-style: solid; border-width: 1px; font-family: verdana, arial, sans-serif; font-size: 10px; color: #000000; padding: 0px;\">
<option selected=\"selected\" value=\"$show[tekstfarve]\">Tekstfarve</option>
<option value=\"black\">Sort</option>
<option value=\"green\">Grøn</option>
<option value=\"yellow\">Gul</option>
<option value=\"blue\">Blå</option>
<option value=\"red\">Rød</option>
<option value=\"orange\">Orange</option>
<option value=\"white\">Hvid</option>
</select><select name='bgfarve' size=\"1\" onchange=\"this.form.submit();\" style=\" background-color: #FFFFFF; border-style: solid; border-width: 1px; font-family: verdana, arial, sans-serif; font-size: 10px; color: #000000; padding: 0px;\">
<option selected=\"selected\" value=\"$show[bgfarve]\">Baggrundsfarve</option>
<option value=\"black\">Sort</option>
<option value=\"green\">Grøn</option>
<option value=\"yellow\">Gul</option>
<option value=\"blue\">Blå</option>
<option value=\"red\">Rød</option>
<option value=\"orange\">Orange</option>
<option value=\"white\">Hvid</option>
</select><select name='skrifttype' size=\"1\" onchange=\"this.form.submit();\" style=\" background-color: #FFFFFF; border-style: solid; border-width: 1px; font-family: verdana, arial, sans-serif; font-size: 10px; color: #000000; padding: 0px;\">
<option selected=\"selected\" value=\"$show[skrifttype]\">Skrifttype</option>
<option value=\"Arial\">Arial</option>
<option value=\"Verdana\">Verdana</option>
<option value=\"Timesnewroman\">TimesNewRoman</option>
</select><select name='skrift3' size=\"1\" onchange=\"this.form.submit();\" style=\" background-color: #FFFFFF; border-style: solid; border-width: 1px; font-family: verdana, arial, sans-serif; font-size: 10px; color: #000000; padding: 0px;\">
<option selected=\"selected\" value=\"$show[skrift3]\">Ekstra</option>
<option value=\"Normal\">Normal</option>
<option value=\"Bold\">Fed</option>
<option value=\"Kursiv\">Kursiv</option>
<option value=\"Underline\">Underline</option>
</select>

<br><br><font face=\"$show[skrifttype]\" size=\"1\" style=\"font-weight:$show[skrift3];color:$show[tekstfarve]\">";

if ($show[skrift3] == "Kursiv") {
  echo "<i>";
} else {
  echo "";
}

if ($show[skrift3] == "Underline") {
  echo "<u>";
} else {
  echo "";
}
echo "Du har mulighed for, selv at vælge baggrundsfarve, tekstfarve, skrifttype mm.<br><br>ID: $show[id]<br>User: $show[user]<br><br>Du har lige nu indstillingerne:<br><br>Tekstfarve: $show[tekstfarve]<br>Baggrundsfarve: $show[bgfarve]<br>Skrifttype: $show[skrifttype]<br>Ekstra: $show[skrift3]</font></td></tr></table>

<script language='JavaScript1.2'> if (document.all||document.getElementById) document.body.style.background=\"url('http://www.webadmin.frac.dk/startside/bgg.png') white center no-repeat fixed\"</script>
</form>
</body>
</html>";
}
}
?>

Nogle der vil hjælpe mig :D ?
Avatar billede jakobdo Ekspert
05. november 2007 - 18:26 #1
Det er lidt farligt bare at lave:

if($_COOKIE[autologin]) {
$_SESSION['brugernavn'] = $_COOKIE[autologin];

Alle kan rette data i en cookie på sin computer.
Du bør derfor gemme brugernavn og evt. krypteret kodeord.
Og når du så får info fra en cookie, så skal du tjekke mod databasen.
Avatar billede nwn Nybegynder
05. november 2007 - 18:29 #2
Ja, men nu indsatte jeg $_SESSION['brugernavn'] = $_COOKIE[autologin]; fordi jeg ellers ikke kunne se hvordan den skulle finde session på index2.php

Men ellers i login.php så er det krypteret med md5.

Ved du ellers hvorfor det ikke virker ?
Avatar billede jakobdo Ekspert
05. november 2007 - 18:39 #3
Har du husket at ændre login info i din kode?
Ellers har du vist det via linjen:
$con = mysql_connect('xxx.xxx.xxx.xxx', 'xxx', 'xxx');

At index2.php er blank, må skyldes du har en php syntax fejl.
Avatar billede jakobdo Ekspert
05. november 2007 - 18:42 #4
Kunne det skyldes denne ikke bliver sat i din login kode:

$user = $_SESSION['data']; ?
Avatar billede nwn Nybegynder
05. november 2007 - 18:44 #5
Jamen det virker jo fint nok, når man indtaster oplysninger -> login.php -> index2.php men lige så snart man lukker browseren og åbner en ny, så virker det ikke.

Så er siden bare blank
Avatar billede nwn Nybegynder
05. november 2007 - 18:47 #6
Prøv selv: http://www.webadmin.frac.dk/startside

brugernavn: test
password: test

sæt auto til checked
Avatar billede nwn Nybegynder
05. november 2007 - 19:06 #7
Ligemeget, fik hjælp fra en anden.
Avatar billede jakobdo Ekspert
05. november 2007 - 19:07 #8
Så alt virker nu?
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