Olen väsäämässä hyvin yksinkertaista foorumia. Ensimmäinen ongelma ilmeni kun selain ei suostunut siirtymään lomakesivulta
lomakkeen tietoja prosessoimaan.
Firefox möläytti seuraavanlaisen ilmoituksen: "Redirection limit for this URL exceeded. Unable to load the requested page. This may be caused by cookies that are blocked."
lomakkeen tiedot käsittelevä sivu:
<?php $yhteys = mysql_connect("*", "*", "*") or die ("Yhdistäminen ei onnistunut!"); mysql_select_db("*", $yhteys) or die ("Tietokantaa ei löytynyt!"); $haku = mysql_query("SELECT * FROM Users WHERE user = '{$_COOKIE['user']}'", $yhteys) or die (mysql_error); //Eväste ei vaikuta ongelmaan mitenkään. for ($i = 0; $i < mysql_num_rows($haku); $i++) { $user_id = mysql_result($haku, $i, "id"); $user = mysql_result($haku, $i, "user"); } $header = $_POST['header']; $sticky = $_POST['sticky']; $message = $_POST['message']; $header = htmlspecialchars($header, ENT_QUOTES); $sticky = htmlspecialchars($sticky, ENT_QUOTES); $message = htmlspecialchars($message, ENT_QUOTES); $message = str_replace("\n", "<br>", $message); $message = str_replace("\r\n", "<br>", $message); if($user_id == 0) { die(header("Location: newtopic2.php?error=1")); } if($sticky == 0) { die(header("Location: newtopic2.php?error=2")); } if($header == 0) { die(header("Location: newtopic2.php?error=2")); } if($message == 0) { die(header("Location: newtopic2.php?error=2")); } mysql_query("INSERT INTO ForumThreads SET header = '{$header}', by = {user_id}, area = {$_POST['areaid']}, lastmsgby = {user_id}, lastmsgtime = now(), messages = messages + 1, sticky = {$sticky}") or die (mysql_error); $haku = mysql_query("SELECT id, header FROM ForumThreads WHERE header = '{$header}' ORDER BY id desc LIMIT 1") or die (mysql_error); for($i=0; $i<mysql_num_rows($haku); $i++) { $id = mysql_result($haku, $i, "id"); } mysql_query("INSERT INTO ForumMessages SET thread = {$id}, $by = {user_id}, on = now(), message = {$message}") or die (mysql_error); mysql_query("INSERT INTO ForumAreas SET threads = threads + 1, messages = messages + 1, lastmsgby = {user_id}, lastmsgtime = now()") or die (mysql_error); mysql_query("INSERT INTO Users SET ForumMessages = ForumMessages + 1") or die (mysql_error); ?>
Veikkaan että die iskee headerin ja tämän jälkeen header aiheuttaa kaikkea "jännää". Kokeile tapaa jossa teet aluksi header("Location: ... ja sen jälkeen exit; jolloin skriptin suoritus loppuu.
Tuo virheilmoitus tulee, jos esim. teet sivun, joka aina ladatessaan aukaisee itsensä uudestaan. Tästä seuraa looppi, jonka Firefox katkaisee tietyn määrän kuluttua (voi vaihtaa asetuksista).
Eli veikkaisin, että olet jotenkin saanut tehtyä tuollaisen loopin, jossa samaa sivua päivitetään kokoajan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.