Ann-SofieMedlem sedan mars 2003136 inlägg
Jag har gjort en sida med lösen. Skriver användaren in rätt lösenord som finns i databasen skickas han/hon vidare till en sida med header:location. Jag vill att han/hon ska skickas till en annan sida om dom skriver in fel lösenord.
Jag har försökt med två headers efter varandra men det är "självklart" att det inte funkar. Hur ska man lösa det istället?
$session_passw=$row[1];
header("location:correct.php");
}
else{
header("location:wrong.html");
{
mysql_close($connection)or die (mysql_error());
?>
mvh
ann-sofie
UrMeMedlem sedan apr. 2001797 inlägg
<?php
if($session_passw == $row[1])
{
header("location:correct.php");
}
else{
header("location:wrong.html");
{
mysql_close($connection)or die (mysql_error());
?>
Nåt sådant borde kanske fungera? eller du kanske inte visade hela koden du hade :)
Ann-SofieMedlem sedan mars 2003136 inlägg
här är hela koden!
..du har rätt.. jag skrev inte hela koden...
Testade ditt förslag men det ger mig felmeddelande på sista raden:" unexpected $end".
Hela koden är följande:
<?php
session_start();
$connection=mysql_connect("localhost","", "") or die ('kunde inte ansluta till mysql');
$db=mysql_select_db("jimmy") or die ('kunde inte hitta databasen');
$sql="SELECT * FROM users WHERE passw='".$_POST['passw']."'";
$result=mysql_query($sql) or die ("kunde inte hitta data");
while($row=mysql_fetch_row($result))
{
$session_passw=$row[1];
header("location:correct.php");
}
else{
header("location:wrong.html");
{
mysql_close($connection)or die (mysql_error());
?>
//ann-sofie
UrMeMedlem sedan apr. 2001797 inlägg
gör så här:
<?php
session_start();
$connection=mysql_connect("localhost","", "") or die ('kunde inte ansluta till mysql');
$db=mysql_select_db("jimmy") or die ('kunde inte hitta databasen');
$sql="SELECT * FROM users WHERE passw='".$_POST['passw']."'";
$result=mysql_query($sql) or die ("kunde inte hitta data");
$numrows = mysql_num_rows($sgl);
if($numrows > 0)
{
header("location:correct.php");
}
else
{
header("location:wrong.html");
}
mysql_close($connection)or die (mysql_error());
?>
Prova det
Ann-SofieMedlem sedan mars 2003136 inlägg
funkar inte ändå
Har provat nu men det funkar inte ändå... hakar fortfarande upp mig på att den redan skickat en header.
det här är felen:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\xxxxxx on line 8
Warning: Cannot modify header information - headers already sent by (output started at c:\xxxxxxx:8) in c:\xxxxxxxxxon line 16
Det borde ju finnas nåt sätt att göra för att kunna skicka två header.....
/ann-sofie
UrMeMedlem sedan apr. 2001797 inlägg
Nåt fel på sql frågan då.
prova detta:
<?php
session_start();
$connection=mysql_connect("localhost","", "") or die ('kunde inte ansluta till mysql');
$db=mysql_select_db("jimmy") or die ('kunde inte hitta databasen');
$passordet = $_POST["passw"];
$sql="SELECT * FROM users WHERE passw='$passordet'";
$result=mysql_query($sql) or die ("kunde inte hitta data");
$numrows = mysql_num_rows($sql);
if($numrows > 0)
{
header("location:correct.php");
}
else
{
header("location:wrong.html");
}
mysql_close($connection)or die (mysql_error());
?>
Kom ihåg att du får inte ha nåt som skrivs till webbläsaren innan denna kod.
FlashXMedlem sedan nov. 1999992 inlägg
I så fall tyckts det ju fungera.
headers already sent by (output started at c:\xxxxxxx:8) in c:\xxxxxxxxxon line 16
talar ju om att den redan skickat en header.
Tar mig friheten att citera Matte
Matte skrev:
Före en header får man inte skicka något till webbläsaren. Ingen HTML, ingen echo eller print. Ej heller någon tomrad eller mellanslag före PHP-taggen.
UrMeMedlem sedan apr. 2001797 inlägg
Precis som FlashX citerade..
Men du skickar ju inte 2 headers samtidigt.. utan scriptet väljer ju ut en av dem.
Ops såg ett litet fel som smygit sig in i min senaste kod.. ny redigerad kod:
<?php
session_start();
$connection=mysql_connect("localhost","", "") or die ('kunde inte ansluta till mysql');
$db=mysql_select_db("jimmy") or die ('kunde inte hitta databasen');
$passordet = $_POST["passw"];
$sql="SELECT * FROM users WHERE passw='$passordet'";
$result=mysql_query($sql) or die ("kunde inte hitta data");
$numrows = mysql_num_rows($sql);
if($numrows > 0)
{
header("location:correct.php");
}
else
{
header("location:wrong.html");
}
mysql_close($connection)or die (mysql_error());
?>
FlashXMedlem sedan nov. 1999992 inlägg
Men det blir ju två om man skickar en av dem eftersom det har skickats en tidigare :)
FuelMedlem sedan okt. 20001 325 inlägg
Glöm inte exit
<?php
session_start();
$connection=mysql_connect("localhost","", "") or die ('kunde inte ansluta till mysql');
$db=mysql_select_db("jimmy") or die ('kunde inte hitta databasen');
$passordet = $_POST["passw"];
$sql="SELECT * FROM users WHERE passw='$passordet'";
$result=mysql_query($sql) or die ("kunde inte hitta data");
$numrows = mysql_num_rows($sql);
if ($numrows > 0) {
header("location:correct.php");
exit;
} else {
header("location:wrong.html");
exit;
}
mysql_close($connection)or die (mysql_error());
?>