11. september 2004 - 22:37
Der er
16 kommentarer
Fejl ved login..
Hvordan kan det være at den kommer med denne fejl når jeg logger ind på min hjemmeside: Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\old\dataprocess.php:4) in c:\apache\htdocs\old\dataprocess.php on line 38 Hvis jeg skriver noget forkert i brugernavn og password, så pbner den godt fejl siden :S
Annonceindlæg fra Serpier
11. september 2004 - 22:50
#1
Det er fordi du forsøger at sende en header() efter at du har sendt <html> ol. Gør følgende: <?php ob_start(); ?> INDSÆT DIN KODE HER <?php ob_end_flush(); ?> Alternativet er at omskrive dit script, så alle headers sendes før alt andet. Det er en nem metode der virker :)
11. september 2004 - 22:50
#2
Du prøver at lave en redirect med: header("Location: en-eller-anden-adresse"); Men inden da har du allerede sendt output til browseren med enten echo, print eller html-kode inden det første <?php tag. Se efter om der er tomme linier eller bare mellemrum i toppen af filen lige inden dit <?php tag. Det skal fjernes, så virker det.
11. september 2004 - 22:52
#3
googolplex, det er da bedre at få rettet fejlen, istedet for at bruge unødvendig hukommelse
12. september 2004 - 00:05
#4
Takker prøver lige :D
12. september 2004 - 00:22
#5
Hmm kan ik rigtigt få det til at du :S <link href="index-filer/e107.css" rel="stylesheet" type="text/css"> <link href="index-filer/style(1).css" rel="stylesheet" type="text/css"> <link href="index-filer/style.css" rel="stylesheet" type="text/css"> <?php $goHere="admin.php"; $logSuccess="1"; $namePassCombos = array ( "bruger" => "pass", "bruger" => "pass", "bruger" => "pass"); $loginName = $_POST['loginName']; $passWord = $_POST['passWord']; $passWord = preg_replace ("/</","[",$passWord); $loginName = preg_replace ("/>/","]",$loginName); $loginName = str_replace(".."," ",$loginName); $passWord = str_replace(".."," ",$passWord); $loginName=trim($loginName); $passWord=trim($passWord); $logInTracker="successLog.txt"; function success($logSuccess,$logInTracker,$loginName,$goHere) { $date=date ("l dS of F Y h:i:s A"); $register_globals = (bool) ini_get('register_gobals'); if ($register_globals) $ip = getenv(REMOTE_ADDR); else $ip = $_SERVER['REMOTE_ADDR']; if($logSuccess=="1"){ $log=fopen("files/$logInTracker", "a+"); fputs($log, "$loginName logged in on: $date - Logged IP address: $ip\n"); fclose($log); } Header("$goHere"); } function error($notice) { if($notice=="0"){ echo" <title>Forkert Brugernavn eller Kodeord</title> <body><br><p style=\"font:11pt arial\"><font color=red>FEJL:</font> Forkert Brugernavn eller Kodeord. <br> </body></html> "; exit; } if($notice=="1"){ echo" <title>Forkert Brugernavn eller Kodeord</title> <body><br><p style=\"font:11pt arial\"><font color=red>FEJL:</font> Forkert Brugernavn eller Kodeord. <br> </body></html> "; exit; } } if (($loginName == "") || ($passWord == "")) { $notice=0; error($notice); } else if (strcmp($namePassCombos[$loginName],$passWord) != 0) { $notice=1; error($notice); } else if (strcmp($namePassCombos[$loginName],$passWord) == 0) { success($logSuccess,$logInTracker,$loginName,$goHere); } ?>
12. september 2004 - 00:42
#6
Hmm har det fået til at virke "lidt" nu, den åbner godtnok en side uden fejl, men det er bare en helt hvid side :S
12. september 2004 - 00:52
#7
header("location: ".$goHere);
12. september 2004 - 00:55
#8
Siger stadig: Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\old\dataprocess.php:4) in c:\apache\htdocs\old\dataprocess.php on line 27
12. september 2004 - 00:57
#9
Nice har fundet fejlen nu :D Det var de CSS filer :D Hvis jeg fjerner dem og bruger = "header("location: ".$goHere);" så virker det :D Men hvad gør jeg nu hvis jeg ville bruge de CSS filer???
12. september 2004 - 09:18
#10
Smid dem i en funktion sådan her: function show_css() { echo '<link href="index-filer/e107.css" rel="stylesheet" type="text/css"> <link href="index-filer/style(1).css" rel="stylesheet" type="text/css"> <link href="index-filer/style.css" rel="stylesheet" type="text/css">'; } Og så kald denne funktion der hvor du laver output, f.eks. if($notice=="1"){ show_css(); echo" <title>Forkert Brugernavn eller Kodeord</title> <body><br><p style=\"font:11pt arial\"><font color=red>FEJL:</font> Forkert Brugernavn eller Kodeord. <br> </body></html> "; exit; }
12. september 2004 - 12:59
#11
alvion --->>> Får denne fejl: function show_css() { echo ' '; } Fatal error: Call to undefined function: show_css() in c:\apache\htdocs\old\dataprocess.php on line 35
12. september 2004 - 13:04
#12
Du skal placere "function show_css() osv..." under <?php tag'et
12. september 2004 - 13:19
#13
nåå ok
13. september 2004 - 06:23
#14
Og så SKAL <?php stå som DET ØVERSTE i scriptet! Der må under ingen omstændigheder være nogle tomme linier, mellemrum, tegn eller andet foran.
13. september 2004 - 06:58
#15
Mange tak for det uddybende svar alvion :D Smid et svar for at få lidt point...
13. september 2004 - 11:31
#16
Velbekomme og værsgo :)
Vi tilbyder markedets bedste kurser inden for webudvikling