SimpaMedlem sedan aug. 20001 135 inlägg
Hittar ingen lösning till det här...
Försökt i flera timmar med olika lösningar, (newbie) och just nu ser det ut så här
Sidan som kollar datan som skickar från formuläret:
<?PHP
session_register("AnvSession");
session_register("PassSession");
$FormNamnet = $_POST["namnet"];
$FormLosenordet = $_POST["losenordet"];
mysql_pconnect ("www.* * *.com *", "* * *");
mysql_select_db ("* * *");
$q = "select 1 from commu where anv = '" . $FormNamnet . "'" .
" and losenord = '" . $FormLosenordet . "'";
$c = mysql_query($q) or die(mysql_error());
if (mysql_fetch_array($c)) {
$HTTP_SESSION_VARS["AnvSession"] = $FormNamnet;
$HTTP_SESSION_VARS["PassSession"] = $FormLosenordet;
header("location: inloggad.php");
}
?>
Den funkar bra, om det är något som krånglar så är det sättet jag sätter seissons .
Och så här ser sidan ut då jag är inloggad:
<?PHP
session_register("SessionAnv");
session_register("SessionPass");
if(session_is_registered("SessionAnv") != "True") header("location: index.php?Spard=2");
?>
Välkommen<?PHP echo $HTTP_SESSION_VARS["SessionAnv"]; ?>.. Ditt lösenord är <?php echo $HTTP_SESSION_VARS["SessionPass"]; ?>
<a href="loggaut.php">Logga Ut</a> <br>
Det jag alltså vill göra är att få med Värderna Anv, och Lösenord så att man kan kolla värderna flera ggr, samt kolla om man är inloggad så man inte kommer till inloggad.php från något annat ställe än kolla.php,
så här har jag gjort loggaut.php
<?php
session_unset("SessionAnv");
session_unset("SessionPass");
session_is_registered("SessionAnv");
session_is_registered("SessionPass");
header("location: index.php?Spard=3");
?>
Om det är någon som kan hjälpa mej så skulle jag bli jätte glad, förklara vad som är fel, lr hur man kan göra det bättre :)
Gör det bara för att lära mej php, inte tänkt att starta något nytt fjortis community, för er som var rädda att jag skulle göra det ;)
mvh
MatteMedlem sedan aug. 20002 970 inlägg
Eftersom $_POST fungerar så antar jag att du har PHP4.1.0 eller senare.
I den filen som tar emot dina formulärdata; ta bort raderna med session_register().
Ändra:
$HTTP_SESSION_VARS["AnvSession"] = $FormNamnet;
$HTTP_SESSION_VARS["PassSession"] = $FormLosenordet;
till:
$_SESSION["SessionAnv"] = $FormNamnet;
$_SESSION["SessionPass"] = $FormLosenordet;
I filen som kollar (inloggad.php) räcker det med:
<?PHP
if (isset($_SESSION['SessionAnv'])) header("location: index.php?Spard=2");
?>
Välkommen <?=$_SESSION['SessionAnv'] ?>.. Ditt lösenord är <?=$_SESSION['SessionPass'] ?>
<a href="loggaut.php">Logga Ut</a> <br>
Och för att logga ut:
<?php
session_start();
session_unset();
session_destroy();
?>
SimpaMedlem sedan aug. 20001 135 inlägg
Hmm..
det funkar, men funkar inte alls ändå..
kika här:
http://www.flumweb.com/commu/
Det kanske ska vara..
if (!isset($_SESSION['SessionAnv'])) header("location: index.php?Spard=2");
..eller?
men sammtidigt så blir det..
Välkommen.. Ditt lösenord är
hm
SimpaMedlem sedan aug. 20001 135 inlägg
Fast har jag
if (!isset($_SESSION['SessionAnv'])) header("location: index.php?Spard=2");
Så kommer jag inte in alls :l
Då blir jag iväg skickad direkt då jag kommer till inloggad.php
MatteMedlem sedan aug. 20002 970 inlägg
Helt riktigt. Jag hade missat ett utropstecken. Men värre är att jag hade glömt att sätta session_start() överst. Så här ska det vara:
<?php
session_start();
mysql_pconnect ("www.* * *.com *", "* * *");
mysql_select_db ("* * *");
$q = "select 1 from commu where anv = '" . $FormNamnet . "'" .
" and losenord = '" . $FormLosenordet . "'";
$c = mysql_query($q) or die(mysql_error());
if (mysql_fetch_array($c)) {
$_SESSION["SessionAnv"] = $FormNamnet;
$_SESSION["SessionPass"] = $FormLosenordet;
header("location: inloggad.php");
?>
Respektive
<?PHP
session_start();
if (!isset($_SESSION['SessionAnv'])) header("location: index.php?Spard=2");
?>
Välkommen <?=$_SESSION['SessionAnv'] ?>.. Ditt lösenord är <?=$_SESSION['SessionPass'] ?>
<a href="loggaut.php">Logga Ut</a> <br>
SimpaMedlem sedan aug. 20001 135 inlägg
session_start();
var det ja :)
Tack, ska testa koden genast :)
SimpaMedlem sedan aug. 20001 135 inlägg
Får det inte att funka, ska göra ett lätt test och kolla vilken sorts sessioner som funkar..
MatteMedlem sedan aug. 20002 970 inlägg
Hos mig fungerar det alldeles utmärkt, men det är ju inte dig till hjälp.
SimpaMedlem sedan aug. 20001 135 inlägg
Hmm, :)
Tror det är något problem med mina sessioner isåfall..
Kan detta hjälpa och se vad som är inställt?
http://www.flumweb.com/temp/info.php
http://www.flumweb.com/commu/index.php
var addressen till communityt..
Den skriver till databasen osv, fast det verkar vara något fel på sessionerna hmmm.. som om dem inte sattes..
MatteMedlem sedan aug. 20002 970 inlägg
Det enda som skiljer sig från mina inställningar är att jag har session.use_trans_sid satt till 1, men det har betydelse endast då webbläsaren inte tillåter cookies.
SimpaMedlem sedan aug. 20001 135 inlägg
Hmm :(
Får verkligen inte sessionerna att funka...
MatteMedlem sedan aug. 20002 970 inlägg
Kolla om det funkar för dig här: http://www.a-kok.com/filer/simpa/index.php
Där hittar du även koderna till sidorna.
SimpaMedlem sedan aug. 20001 135 inlägg
Allt går bara fel.. :(
Nu kan jag inte logga in överhuvudtaget, även om jag tar bort
<?PHP
session_start();
if (!isset($_SESSION['SessionAnv'])) header("location: index.php?Spard=2");
?>
Så kommer jag bara tebaxs till första sidan..
Man kanske borde sova på den här nöten, förstår inte vad jag gör för fel, testade ju din kod, :l
Tack för all hjälp förresten !
GaqziMedlem sedan aug. 2002228 inlägg
hm, jag gjorde oxå en inloggning med sessions..
Och då fick jag inga värden på anv. lösenord och det..
Så när jag gjorde variablarna som innehäll värdet globala funkade det tokbra..
ex:
$anv = $_POST['user'];
$pass = $_POST['pass'];
Global $anv;
Global $pass;
session_register ('anv');
session_register ('pass');
Funkar för mej iallafall..
SimpaMedlem sedan aug. 20001 135 inlägg
Det här är helt sjukt, får det verkligen inte att funka, ska ta kontakt med webhotelet och se om det kan vara nå problem där.