Jag håller på med ett inloggningsscript och vad jag än gör funkar inte, vad finns det som kan vara fel, två variabel skickas från en "form" till sidan login.php. MEN Variablerna skickas inte med från FORM:et till login.php, skriver jag print("$user") så ser jag inget, och jag skickas bara hela tiden tillbaka till index.php
login.php:
<?php
$link = mysql_connect("localhost","root","") or die ("Kan inte ansluta till databasen!");
mysql_select_db("inkfishave", $link);
if (isset($user) && isset($pass)) {
$query = "SELECT id, username FROM user WHERE username='$user' AND password=PASSWORD('$pass')";
$res = mysql_query($query) or die ("Kan inte läsa från databasen!");
$row = mysql_fetch_array($res);
if (isset($row['id'])) {
session_start();
$uid = $row['id'];
$uname = $row['username'];
session_register("uid", "uname");
Header("Location: admin.php");
}
}
else {
Header("Location: index.php");
}
?>
<?php
$link = mysql_connect("localhost","root","") or die ("Kan inte ansluta till databasen!");
mysql_select_db("inkfishave", $link);
$user = $_POST["user"];
$pass = $_POST["pass"];
if (isset($user) && isset($pass)) {
$query = "SELECT id, username FROM user WHERE username='$user' AND password=PASSWORD('$pass')";
$res = mysql_query($query) or die ("Kan inte läsa från databasen!");
$row = mysql_fetch_array($res);
if (isset($row['id'])) {
session_start();
$uid = $row['id'];
$uname = $row['username'];
session_register("uid", "uname");
header("Location: admin.php");
}
}
else {
header("Location: index.php");
}
?>
Jag har just börjat med php men det borde gå. kommer åt post med
$_POST och get med $_GET
Tack det fungerade men ändå inte. Nu kom mina gamla vanliga felmedelande tillbaka.
Warning: open(/tmp\sess_81b09fccb1f3c40bb9e985b2c995c468, O_RDWR) failed: No such file or directory (2) in d:\webdesign\webroot\inkfishave\login.php on line 15
Warning: Cannot add header information - headers already sent by (output started at d:\webdesign\webroot\inkfishave\login.php:15) in d:\webdesign\webroot\inkfishave\login.php on line 20
Warning: open(/tmp\sess_81b09fccb1f3c40bb9e985b2c995c468, O_RDWR) failed: No such file or directory (2) in Unknown on line 0
Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
Det är ju något med sessions;en men det räcker inte med att jag bara skapar en "tmp" mapp i den mappen login.php ligger i. =( *suck*
Har aldrig haft det felet, men tyckte mig läsa att nån annan hadde löst det genom att skapa mappen. ser ut som att /tmp ska ligga i rooten.
kolla i config filen, php.ini
; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
session.save_path = /tmp
; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
session.save_path = C:\PHP\sessiondata ; argument passed to
Och skickas då direkt tillbaka till index.php, Nu är det sessionerna som inte fungerar, jag har ändrar session.save_path till en katalog och där lägger sig en fil som värkar stämma, med ett ID och mitt användarnamn, men det värkar ändå inte fungera för när jag gör: if (!isset($uid) || !isset($uname)) { ..... Så värkar det ju som om det blir FALSE, för jag blir ju tillbaka skickad.
Jag har lite problem jag har gjort nästan exakt som inkfich eller va han hette men de funka ändå inte. Den går liksom förbi do_login.php men man får inte stanna på start.php utan den skicka en till sidan som man komma till om man inte ha anget lösen osv.
<?PHP
//do_login.php
// include ("mysql.inc.php"); //Startar MySQL
$link = mysql_connect("localhost","XXX","XXX") or die ("Kan inte ansluta till databasen!");
mysql_select_db("test");
$user = $_POST["user"];
$pass = $_POST["pass"];
if (isset($user) && isset($pass)) {
$query = "SELECT id, username FROM user WHERE username='$user' AND password=PASSWORD('$pass')";
$res = mysql_query($query) or die ("Kan inte läsa från databasen!");
$row = mysql_fetch_array($res);
if (isset($row['id'])) {
session_start();
$uid = $row['id'];
$uname = $row['username'];
session_register("uid", "uname");
// NYTT 2 RADER
$HTTP_SESSION_VARS["uid"] = $row['id'];
$HTTP_SESSION_VARS["username"] = $row['username'];
header("Location: start.php");
}
}
else {
echo("Något blev fel.");
}
?>