Üzenetküldő szkriptem átirányítás helyett "cannot modify header information" hibát küld
Sziasztok, a következő php scriptet próbálom alkalmazni, amely működik is, csak az üzenet elküldése után nem az elkuldve.htm oldalra irányít hanem a következő infó jelenik meg a browserben:
Mi lehet a gond? miért nem a megfelelő oldalra irányít? Előre is köszi a segítséget.
a form:a kuldes.php:
■ Warning: Cannot modify header information - headers already sent by (output started at /nfs/....
Mi lehet a gond? miért nem a megfelelő oldalra irányít? Előre is köszi a segítséget.
a form:
<form method="post" action="kuldes.php">
<input type="hidden" name="in" value="1">
Elérhetősége: <input type="text" name="neved">
<input type="submit" value="Elküld">
</form>
<?php
if ($_POST["in"]){
reset($_POST);
$level = "<p>Az alábbi űrlapot küldték el ".date("Y-m-d H:i:s")."-kor:</p>";
foreach($_POST as $key=>$val){
$level .= "<p><strong>".$key."</strong>: ".$val."</p>";
}
$cimzett = "e-mail##kukac##cimem.hu";
$subject = "elérhetőség";
$felado = "honlapom";
mail($cimzett, $subject, $level, "From:".$felado."\nContent-Type: text/html; charset=iso-8859-2");
header("Location: elkuldve.htm");
exit;
}
else { // header("Location:bekuldes.htm");
exit;
}
?>
olvasd el és értelmezd ;)
A probléma az, hogy ha valamit már küldtél ki a böngészőnek (írtál ki valamit), akkor utána már nemt udsz header()-t küldeni, mivel az mindenféle adat előtt kell menjen.
Tipikus hiba a:
Szóval a legegyszerűbb megfordítani a dolgot:
köszi
Tehát sajna csak akkor érteném mi a gond, ha beírnád a scriptemet helyesen. :-(
Köszi a segítséget
hmmm
Azt csak akkor tudnám helyesen beírni, ha tudnám, mi a scripted :P
Akkor két lehetőséget látok:
1.) Keress magadnak egy kész contact-scriptet. (pl: www.phpclasses.org, vagy a www.hotscriptz.com, de vannak ám mások is)
2.) Próbálkozz sokat, illetve olvass utána dolgoknak.
3.) Szerintem a google is segíthet, keress rá a hibaüzenetre. (bár nyilván mindenkinek más a scriptje, azért a hibajelenséget csak elmagyarázzák valahol, közepes angol nyelvtudással megértheted :) )
Sajnos (vagy nem sajnos) akik itt válazolgatnak a kérdésekre nem szeretik, ha velük iratják meg a programjaikat, mivel - én is - ezzel foglalkoznak és ezekért vannak, akik bizony sokat fizetnek.
Ennek ellenére én szeretek segíteni másoknak. Így, ha a teljes kódot megmutatod (lehetőség szerint rakd fel valahova *.phps-ként és ne ide küldd, csak a linkjét), akkor segítek, hogy rájöjj, mi a probléma. Így tanulsz Te is és legközelebb már Te is tudsz segíteni másoknak ;)
Egyébként másik megoldásképpen egy javascriptes átirányítás jön szóba, ha már valamit írtál ki a böngészőbe, vagy nem tudod a header('Location*') előtt ellenőrizni, hogy volt-e kimeneted, akkor ez működik, feltéve, hogy a javascript be van-e kapcsolva. Ha nincs, akkor egy linket rakhatsz bele, kb. így:
thx again