12. juli 2004 - 19:44
Der er
38 kommentarer og 2 løsninger
header location melder fejl
Hey ! Jeg sidder lige og leger med PHP...! Prøver på at lave et slags login system... Men når den har oprettet en bruger skulle den blive sendt videre til et nyt dokument, men den melder denne fejl lige meget hvad jeg gør :( Warning: Cannot modify header information - headers already sent by (output started at /STORE/tony_mathiesen_d/public_html/php/opret.php:10) in /STORE/tony_mathiesen_d/public_html/php/opret.php on line 44 -------------------------------------------------------------- Her er den linie: header("location: login.php?mode=created"); exit(); Nogen der ka' hjælpe mig...? På forhånd tak !
Annonceindlæg fra HP
Stik os lige hele koden, fordi du har åbenbart sendt noget før headeren, og det må man ikke :)
f.eks. en simpelt kommando som 'echo' før en header, så virker det ikke.
Jeg har slette mine MySQL oplysninger, bare for at der ikke er nogen der ødelægger noget ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Opret bruger</title> <meta name="generator" content="TSW WebCoder"> </head> <body> <? mysql_connect("", "", ""); mysql_select_db(""); $check_name = $_REQUEST["user_name"]; $check_nick = $_REQUEST["user_nick"]; $check_psw = $_REQUEST["user_psw"]; $check_mail = $_REQUEST["user_mail"]; $check_alder = $_REQUEST["user_alder"]; if ($_GET["mode"] == "check") { if ($check_name == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'navn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_nick == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'nick/brugernavn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_psw == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'password' er ikke udfyldt..." . "</font><br>"; } elseif ($check_mail == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'email' er ikke udfyldt..." . "</font><br>"; } elseif ($check_alder == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'alder' er ikke udfyldt..." . "</font><br>"; } else { mysql_query("INSERT INTO data_users (navn, nick, password, mail, alder) VALUES ('" . $_POST["user_name"] . "','" . $_POST["user_nick"] . "','" . $_POST["user_psw"] . "','" . $_POST["user_mail"] . "','" . $_POST["user_alder"] . "')"); } header("location: opret.php"); exit(); } ?> <b>Opret bruger:</b><br> <form method="post" action="opret.php?mode=check"> <table> <tr> <td>Navn: </td> <td><input type="text" name="user_name"></td> </tr> <tr> <td>Nick/brugernavn: </td> <td><input type="text" name="user_nick"></td> </tr> <tr> <td>Password: </td> <td><input type="text" name="user_psw"></td> </tr> <tr> <td>E-mail: </td> <td><input type="text" name="user_mail"></td> </tr> <tr> <td>Alder: </td> <td><input type="text" name="user_alder"></td> </tr> </table> <input type="submit" value="Opret"> </form> </body> </html>
Slettet bruger
12. juli 2004 - 19:48
#4
du må heller ikke udskrive noget html inden headeren
Ups... Der står: header("location: login.php?mode=created");
Jeg er dog ikke helt sikker på den her, men prøv <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Opret bruger</title> <meta name="generator" content="TSW WebCoder"> </head> <body> <? mysql_connect("", "", ""); mysql_select_db(""); $check_name = $_REQUEST["user_name"]; $check_nick = $_REQUEST["user_nick"]; $check_psw = $_REQUEST["user_psw"]; $check_mail = $_REQUEST["user_mail"]; $check_alder = $_REQUEST["user_alder"]; if ($_GET["mode"] == "check") { if ($check_name == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'navn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_nick == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'nick/brugernavn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_psw == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'password' er ikke udfyldt..." . "</font><br>"; } elseif ($check_mail == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'email' er ikke udfyldt..." . "</font><br>"; } elseif ($check_alder == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'alder' er ikke udfyldt..." . "</font><br>"; } else { mysql_query("INSERT INTO data_users (navn, nick, password, mail, alder) VALUES ('" . $_POST["user_name"] . "','" . $_POST["user_nick"] . "','" . $_POST["user_psw"] . "','" . $_POST["user_mail"] . "','" . $_POST["user_alder"] . "')"); header("location: opret.php"); exit(); } } ?> <b>Opret bruger:</b><br> <form method="post" action="opret.php?mode=check"> <table> <tr> <td>Navn: </td> <td><input type="text" name="user_name"></td> </tr> <tr> <td>Nick/brugernavn: </td> <td><input type="text" name="user_nick"></td> </tr> <tr> <td>Password: </td> <td><input type="text" name="user_psw"></td> </tr> <tr> <td>E-mail: </td> <td><input type="text" name="user_mail"></td> </tr> <tr> <td>Alder: </td> <td><input type="text" name="user_alder"></td> </tr> </table> <input type="submit" value="Opret"> </form> </body> </html>
Melder det samme, bare på linie 43 ! :(
Slettet bruger
12. juli 2004 - 20:01
#8
jeg har ikke testet det her: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <? mysql_connect("", "", ""); mysql_select_db(""); $check_name = $_REQUEST["user_name"]; $check_nick = $_REQUEST["user_nick"]; $check_psw = $_REQUEST["user_psw"]; $check_mail = $_REQUEST["user_mail"]; $check_alder = $_REQUEST["user_alder"]; if ($_GET["mode"] == "check") { if ($check_name == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'navn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_nick == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'nick/brugernavn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_psw == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'password' er ikke udfyldt..." . "</font><br>"; } elseif ($check_mail == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'email' er ikke udfyldt..." . "</font><br>"; } elseif ($check_alder == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'alder' er ikke udfyldt..." . "</font><br>"; } else { mysql_query("INSERT INTO data_users (navn, nick, password, mail, alder) VALUES ('" . $_POST["user_name"] . "','" . $_POST["user_nick"] . "','" . $_POST["user_psw"] . "','" . $_POST["user_mail"] . "','" . $_POST["user_alder"] . "')"); } header("location: opret.php"); exit(); } ?> <title>Opret bruger</title> <meta name="generator" content="TSW WebCoder"> </head> <body> <? if(isset($fejl)) { echo $fejl; } ?> <b>Opret bruger:</b><br> <form method="post" action="opret.php?mode=check"> <table> <tr> <td>Navn: </td> <td><input type="text" name="user_name"></td> </tr> <tr> <td>Nick/brugernavn: </td> <td><input type="text" name="user_nick"></td> </tr> <tr> <td>Password: </td> <td><input type="text" name="user_psw"></td> </tr> <tr> <td>E-mail: </td> <td><input type="text" name="user_mail"></td> </tr> <tr> <td>Alder: </td> <td><input type="text" name="user_alder"></td> </tr> </table> <input type="submit" value="Opret"> </form> </body> </html>
Slettet bruger
12. juli 2004 - 20:02
#9
har ikke taget hensyn til din sidste rettelse med: "header("location: login.php?mode=created");"
12. juli 2004 - 20:03
#10
Det samme! :(
12. juli 2004 - 20:03
#11
Prøv den her så <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Opret bruger</title> <meta name="generator" content="TSW WebCoder"> </head> <body> <? mysql_connect("", "", ""); mysql_select_db(""); $check_name = $_REQUEST["user_name"]; $check_nick = $_REQUEST["user_nick"]; $check_psw = $_REQUEST["user_psw"]; $check_mail = $_REQUEST["user_mail"]; $check_alder = $_REQUEST["user_alder"]; if ($_GET["mode"] == "check") { if ($check_name == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'navn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_nick == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'nick/brugernavn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_psw == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'password' er ikke udfyldt..." . "</font><br>"; } elseif ($check_mail == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'email' er ikke udfyldt..." . "</font><br>"; } elseif ($check_alder == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'alder' er ikke udfyldt..." . "</font><br>"; } else { mysql_query("INSERT INTO data_users (navn, nick, password, mail, alder) VALUES ('" . $_POST["user_name"] . "','" . $_POST["user_nick"] . "','" . $_POST["user_psw"] . "','" . $_POST["user_mail"] . "','" . $_POST["user_alder"] . "')"); } echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=opret.php'>"; exit(); } ?> <b>Opret bruger:</b><br> <form method="post" action="opret.php?mode=check"> <table> <tr> <td>Navn: </td> <td><input type="text" name="user_name"></td> </tr> <tr> <td>Nick/brugernavn: </td> <td><input type="text" name="user_nick"></td> </tr> <tr> <td>Password: </td> <td><input type="text" name="user_psw"></td> </tr> <tr> <td>E-mail: </td> <td><input type="text" name="user_mail"></td> </tr> <tr> <td>Alder: </td> <td><input type="text" name="user_alder"></td> </tr> </table> <input type="submit" value="Opret"> </form> </body> </html>
12. juli 2004 - 20:04
#12
<? mysql_connect("", "", ""); mysql_select_db(""); $check_name = $_REQUEST["user_name"]; $check_nick = $_REQUEST["user_nick"]; $check_psw = $_REQUEST["user_psw"]; $check_mail = $_REQUEST["user_mail"]; $check_alder = $_REQUEST["user_alder"]; if ($_GET["mode"] == "check") { if ($check_name == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'navn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_nick == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'nick/brugernavn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_psw == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'password' er ikke udfyldt..." . "</font><br>"; } elseif ($check_mail == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'email' er ikke udfyldt..." . "</font><br>"; } elseif ($check_alder == "") { echo "<font color='#FF3300'>" . "Fejl! - Feltet 'alder' er ikke udfyldt..." . "</font><br>"; } else { mysql_query("INSERT INTO data_users (navn, nick, password, mail, alder) VALUES ('" . $_POST["user_name"] . "','" . $_POST["user_nick"] . "','" . $_POST["user_psw"] . "','" . $_POST["user_mail"] . "','" . $_POST["user_alder"] . "')"); header("location: opret.php"); } exit(); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Opret bruger</title> <meta name="generator" content="TSW WebCoder"> </head> <body> <b>Opret bruger:</b><br> <form method="post" action="opret.php?mode=check"> <table> <tr> <td>Navn: </td> <td><input type="text" name="user_name"></td> </tr> <tr> <td>Nick/brugernavn: </td> <td><input type="text" name="user_nick"></td> </tr> <tr> <td>Password: </td> <td><input type="text" name="user_psw"></td> </tr> <tr> <td>E-mail: </td> <td><input type="text" name="user_mail"></td> </tr> <tr> <td>Alder: </td> <td><input type="text" name="user_alder"></td> </tr> </table> <input type="submit" value="Opret"> </form> </body> </html>
Slettet bruger
12. juli 2004 - 20:04
#13
Det her er mit sidste bud: <? mysql_connect("", "", ""); mysql_select_db(""); $check_name = $_REQUEST["user_name"]; $check_nick = $_REQUEST["user_nick"]; $check_psw = $_REQUEST["user_psw"]; $check_mail = $_REQUEST["user_mail"]; $check_alder = $_REQUEST["user_alder"]; if ($_GET["mode"] == "check") { if ($check_name == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'navn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_nick == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'nick/brugernavn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_psw == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'password' er ikke udfyldt..." . "</font><br>"; } elseif ($check_mail == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'email' er ikke udfyldt..." . "</font><br>"; } elseif ($check_alder == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'alder' er ikke udfyldt..." . "</font><br>"; } else { mysql_query("INSERT INTO data_users (navn, nick, password, mail, alder) VALUES ('" . $_POST["user_name"] . "','" . $_POST["user_nick"] . "','" . $_POST["user_psw"] . "','" . $_POST["user_mail"] . "','" . $_POST["user_alder"] . "')"); } header header("location: login.php?mode=created"); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Opret bruger</title> <meta name="generator" content="TSW WebCoder"> </head> <body> <? if(isset($fejl)) { echo $fejl; } ?> <b>Opret bruger:</b><br> <form method="post" action="opret.php?mode=check"> <table> <tr> <td>Navn: </td> <td><input type="text" name="user_name"></td> </tr> <tr> <td>Nick/brugernavn: </td> <td><input type="text" name="user_nick"></td> </tr> <tr> <td>Password: </td> <td><input type="text" name="user_psw"></td> </tr> <tr> <td>E-mail: </td> <td><input type="text" name="user_mail"></td> </tr> <tr> <td>Alder: </td> <td><input type="text" name="user_alder"></td> </tr> </table> <input type="submit" value="Opret"> </form> </body> </html>
12. juli 2004 - 20:05
#14
*intet* output til browseren må komme før header()
Slettet bruger
12. juli 2004 - 20:06
#15
prøv mit, jeg tror det er magen til dit polle.
12. juli 2004 - 20:07
#16
min er direkte fusk :)
Slettet bruger
12. juli 2004 - 20:07
#17
du behøver heller ikke exit(); da headeren jo vil stoppe udførelsen af dette script
12. juli 2004 - 20:07
#18
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <? mysql_connect("", "", ""); mysql_select_db(""); $check_name = $_REQUEST["user_name"]; $check_nick = $_REQUEST["user_nick"]; $check_psw = $_REQUEST["user_psw"]; $check_mail = $_REQUEST["user_mail"]; $check_alder = $_REQUEST["user_alder"]; header("location: opret.php"); if ($_GET["mode"] == "check") { if ($check_name == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'navn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_nick == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'nick/brugernavn' er ikke udfyldt..." . "</font><br>"; } elseif ($check_psw == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'password' er ikke udfyldt..." . "</font><br>"; } elseif ($check_mail == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'email' er ikke udfyldt..." . "</font><br>"; } elseif ($check_alder == "") { $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'alder' er ikke udfyldt..." . "</font><br>"; } else { mysql_query("INSERT INTO data_users (navn, nick, password, mail, alder) VALUES ('" . $_POST["user_name"] . "','" . $_POST["user_nick"] . "','" . $_POST["user_psw"] . "','" . $_POST["user_mail"] . "','" . $_POST["user_alder"] . "')"); } exit(); } ?> <title>Opret bruger</title> <meta name="generator" content="TSW WebCoder"> </head> <body> <b>Opret bruger:</b><br> <form method="post" action="opret.php?mode=check"> <table> <tr> <td>Navn: </td> <td><input type="text" name="user_name"></td> </tr> <tr> <td>Nick/brugernavn: </td> <td><input type="text" name="user_nick"></td> </tr> <tr> <td>Password: </td> <td><input type="text" name="user_psw"></td> </tr> <tr> <td>E-mail: </td> <td><input type="text" name="user_mail"></td> </tr> <tr> <td>Alder: </td> <td><input type="text" name="user_alder"></td> </tr> </table> <input type="submit" value="Opret"> </form> </body> </html> //Hvad sker der hvis du sätter den ind för du sender noget til skärmen? //Er heller ikke testet.
12. juli 2004 - 20:08
#19
faktisk stopper header() ikke scriptet.. du sender blot en header til browseren, scriptet fortsætter..
Slettet bruger
12. juli 2004 - 20:08
#20
hvad med at stoppe med at komme med eksempler...? for mig at se burde mit og polles script virke?
Slettet bruger
12. juli 2004 - 20:09
#21
jamen der vil ikke komme noget output til browseren
12. juli 2004 - 20:09
#22
kan godt se at jeg ikke har rodet med php i lang tid :/
Slettet bruger
12. juli 2004 - 20:10
#23
jeg smutter nu, sig til hvis der er noget galt med mit script
12. juli 2004 - 20:10
#24
Wicez og hamderpolle - Jeres virker begge...! Mange tak for hjælpen :D
12. juli 2004 - 20:10
#25
Læg lige et svar begge to foresten :P
12. juli 2004 - 20:11
#26
Selfølgelig vil der komme et output med meta, på samme måde som en heater. Han har vel en fil der tager imod input, og en header og meta er jo næsten det samme. NÆSTEN
Slettet bruger
12. juli 2004 - 20:11
#27
det var så lidt ^^ men husk det med at der ikke må komme output før header, det er roden til alt ondt at glemme det :D
12. juli 2004 - 20:13
#28
Skal jeg nok huske ;) Og Tak igen :D
12. juli 2004 - 20:14
#29
wicez, hvis du kigger på dit, kan der godt komme output før headeren, hvis et felt ikke er udfyldt..
Slettet bruger
12. juli 2004 - 20:16
#30
hvorhenne?
12. juli 2004 - 20:19
#31
uanset om en af if(er feltet tomt)-sætningerne, sender du en header af sted
Slettet bruger
12. juli 2004 - 20:19
#32
I min version kommer beskeden bare det samme sted som i den originale ved at sætte $fejl = < fejlen >
Slettet bruger
12. juli 2004 - 20:20
#33
Nej for det er jo else { Headeren }
12. juli 2004 - 20:22
#34
if ($_GET["mode"] == "check") { if ($check_name == "") { // kommer før header() $fejl = "<font color='#FF3300'>" . "Fejl! - Feltet 'navn' er ikke udfyldt..." . "</font><br>"; } ... else { mysql_query(); } header header("location: login.php?mode=created"); }
12. juli 2004 - 20:23
#35
bah, jeg sover :) der kommer vist ingen echo her :)
Slettet bruger
12. juli 2004 - 20:24
#36
:)
12. juli 2004 - 20:25
#37
så min exit() er også placeret forkert. den skal op under header() :p
Slettet bruger
12. juli 2004 - 20:26
#38
:P så må vi bare håbe at han bruger mit script eller laver det om ^^
12. juli 2004 - 20:27
#39
fuck sake, det er jo dig der har lavet echo om. jeg syntes sgu nok der var noget galt, i forhold til den originale :)
Slettet bruger
12. juli 2004 - 20:27
#40
jep... det er så beskeden kommer det rigtige sted ^^ jeg smutter nu
Vi tilbyder markedets bedste kurser inden for webudvikling