13. juni 2005 - 10:16
Der er
20 kommentarer og 1 løsning
Cannot modify header information
Hej jeg vil gerne have nedestående kode til at gå til header("Location: index.php?sejlerprofil"); når den har køre mysql_query . men fejler hvad gør jeg <?php include(realpath("./include") . "./inc/db.inc"); $res = mysql_query("SELECT * FROM booking where id = '$event' " ); $number = @mysql_num_rows($res); $row = @mysql_fetch_assoc($res); $today = date("Ymd"); // Giver dagsdato og tid $event_id = ($row["id"]); $event_user = ($row["event_user"]); $book_date = ($row["book_date"]); $date_start = ($row["date_start"]); $date_end = ($row["date_end"]); $time_start = ($row["time_start"]); $time_end = ($row["time_end"]); $event_type = ($row["event_type"]); $boatid = ($row["boatid"]); $seclevel = ($row["seclevel"]); $note = ($row["note"]); if (isset($_POST['edit'])) { $event_id = ($_POST["event_id"]); $event_user = ($_POST['event_user']); $book_date = ($_POST['book_date']); $date_start = ($_POST['date_start']); $date_end = ($_POST['date_end']); $time_start = ($_POST['time_start']); $time_end = ($_POST['time_end']); $event_type = ($_POST['event_type']); $boatid = ($_POST['boatid']); $seclevel = ($_POST['seclevel']); $note = ($_POST['note']); $send_event = "Update booking set event_user='$authenticatedUser', book_date='$today', date_start='$date_start', date_end='$date_end' , time_start='$time_start' , time_end='$time_end', event_type='$event_type', boatid='$boatid', seclevel='$seclevel', note='$note' where id ='$event_id' " ; echo $send_event; ##echo "Posten er rettet"; mysql_query($send_event) or die (mysql_error()); header("Location: index.php?sejlerprofil"); } ; ?> <form action="index.php?pageid=edit_event" method="post"> <h1>Vis/add event</h1> <hr style="margin-left:5px;" /> <table border="0" cellspacing="2" colspacing="2" style="margin:5px;"> <tr> <td>Brugernavn</td> <td><?=$authenticatedUser?></td> </tr> <tr> <td><font color="">Vælg booking type:</font></td> <td> <select size="1" name="event_type" value="<?=$event_type?>" <option selected="selected" value="Weekendtur">Weekendtur</option> <option value="Ugentlig sejlads">ugentlige sejladser</option> <option value="Klargøringsweekend">klargøringsweekend</option> <option value="Afrigningsweekend">Afrigningsweekend</option> <option value="Instruktørmde">Instruktørmøde</option> <option value="Privat">Privat</option> <option value="Andet">Andet</option> <option value="Sommerferie">Sommerferie</option> <option value="Weekendtur">Weekendtur</option> </select> </td> </tr> <tr> <td>Start dato(YYYY-MM-DD)</td> <td><input type="text" name="date_start" value="<?=$date_start?>" size=10></td> <td>Start tidspunkt (hr:mn)</td> <td><input type="text" name="time_start" value="<?=substr("$time_start", 0, 5);?>" size=5></td> </tr> <tr> <td>Slut dato (YYYY-MM-DD) </td> <td><input type="text" name="date_end" value="<?=$date_end?>" size=10></td> <td>Slut tidspunkt (hr:mn)</td> <td><input type="text" name="time_end" value="<?=substr("$time_end", 0, 5);?>" size=5></td> </tr> <tr> <td>Vælg bådnummer:</font></td> <td> <select size="1" name="boatid" value="<?=boatid?>"> <option selected="selected" value="1">Båd 1</option> <option value="2">Båd 2</option> <option value="3">Båd 3</option> <option value="4">Båd 4</option> </select> </td> </tr> <tr> <td>Synlig for :</font></td> <td> <select size="1" name="seclevel" value="<?=$seclevel?>"> <option selected="selected" value="1">Kun mig selv</option> <option value="2">Alle Instruktører</option> <option value="3">Alle</option> </select> </td> </tr> <tr> <td>Noter:</td> <td><textarea name="note" value="<?=$note?>" rows="5" cols="20"><?=$note?></textarea></td> </tr> <tr> <tr> <td><input type="submit" name="edit" value="ret event"></td> <input type="hidden" name="event_id" value="<?=$event_id?>"> </tr> </table> </form>
Annonceindlæg fra Infor
Du må ikke ha udskrift før din header. Prøv at fjerne den her: echo $send_event;
har fjernet det men det hjalp ikke
sætter lige fler point har meget travlt nemlig
ændre: } ; ?> til: } ; else { ?> Og i bunden indsæt: <? } ?> Prøv det !
ja du må henlede alt det du vil har bare travlt lige nu ..
Så scriptet er: <?php include(realpath("./include") . "./inc/db.inc"); $res = mysql_query("SELECT * FROM booking where id = '$event' " ); $number = @mysql_num_rows($res); $row = @mysql_fetch_assoc($res); $today = date("Ymd"); // Giver dagsdato og tid $event_id = ($row["id"]); $event_user = ($row["event_user"]); $book_date = ($row["book_date"]); $date_start = ($row["date_start"]); $date_end = ($row["date_end"]); $time_start = ($row["time_start"]); $time_end = ($row["time_end"]); $event_type = ($row["event_type"]); $boatid = ($row["boatid"]); $seclevel = ($row["seclevel"]); $note = ($row["note"]); if (isset($_POST['edit'])) { $event_id = ($_POST["event_id"]); $event_user = ($_POST['event_user']); $book_date = ($_POST['book_date']); $date_start = ($_POST['date_start']); $date_end = ($_POST['date_end']); $time_start = ($_POST['time_start']); $time_end = ($_POST['time_end']); $event_type = ($_POST['event_type']); $boatid = ($_POST['boatid']); $seclevel = ($_POST['seclevel']); $note = ($_POST['note']); $send_event = "Update booking set event_user='$authenticatedUser', book_date='$today', date_start='$date_start', date_end='$date_end' , time_start='$time_start' , time_end='$time_end', event_type='$event_type', boatid='$boatid', seclevel='$seclevel', note='$note' where id ='$event_id' " ; echo $send_event; ##echo "Posten er rettet"; mysql_query($send_event) or die (mysql_error()); header("Location: index.php?sejlerprofil"); } else { ?> <form action="index.php?pageid=edit_event" method="post"> <h1>Vis/add event</h1> <hr style="margin-left:5px;" /> <table border="0" cellspacing="2" colspacing="2" style="margin:5px;"> <tr> <td>Brugernavn</td> <td><?=$authenticatedUser?></td> </tr> <tr> <td><font color="">Vælg booking type:</font></td> <td> <select size="1" name="event_type" value="<?=$event_type?>" <option selected="selected" value="Weekendtur">Weekendtur</option> <option value="Ugentlig sejlads">ugentlige sejladser</option> <option value="Klargøringsweekend">klargøringsweekend</option> <option value="Afrigningsweekend">Afrigningsweekend</option> <option value="Instruktørmde">Instruktørmøde</option> <option value="Privat">Privat</option> <option value="Andet">Andet</option> <option value="Sommerferie">Sommerferie</option> <option value="Weekendtur">Weekendtur</option> </select> </td> </tr> <tr> <td>Start dato(YYYY-MM-DD)</td> <td><input type="text" name="date_start" value="<?=$date_start?>" size=10></td> <td>Start tidspunkt (hr:mn)</td> <td><input type="text" name="time_start" value="<?=substr("$time_start", 0, 5);?>" size=5></td> </tr> <tr> <td>Slut dato (YYYY-MM-DD) </td> <td><input type="text" name="date_end" value="<?=$date_end?>" size=10></td> <td>Slut tidspunkt (hr:mn)</td> <td><input type="text" name="time_end" value="<?=substr("$time_end", 0, 5);?>" size=5></td> </tr> <tr> <td>Vælg bådnummer:</font></td> <td> <select size="1" name="boatid" value="<?=boatid?>"> <option selected="selected" value="1">Båd 1</option> <option value="2">Båd 2</option> <option value="3">Båd 3</option> <option value="4">Båd 4</option> </select> </td> </tr> <tr> <td>Synlig for :</font></td> <td> <select size="1" name="seclevel" value="<?=$seclevel?>"> <option selected="selected" value="1">Kun mig selv</option> <option value="2">Alle Instruktører</option> <option value="3">Alle</option> </select> </td> </tr> <tr> <td>Noter:</td> <td><textarea name="note" value="<?=$note?>" rows="5" cols="20"><?=$note?></textarea></td> </tr> <tr> <tr> <td><input type="submit" name="edit" value="ret event"></td> <input type="hidden" name="event_id" value="<?=$event_id?>"> </tr> </table> </form> <? } ?>
nej nu får jeg fejlen "Parse error: parse error in /home/casan04/public_html/pages/edit_event.php on line 53" rettet kode ---------------- <?php include(realpath("./include") . "./inc/db.inc"); $res = mysql_query("SELECT * FROM booking where id = '$event' " ); $number = @mysql_num_rows($res); $row = @mysql_fetch_assoc($res); $today = date("Ymd"); // Giver dagsdato og tid $event_id = ($row["id"]); $event_user = ($row["event_user"]); $book_date = ($row["book_date"]); $date_start = ($row["date_start"]); $date_end = ($row["date_end"]); $time_start = ($row["time_start"]); $time_end = ($row["time_end"]); $event_type = ($row["event_type"]); $boatid = ($row["boatid"]); $seclevel = ($row["seclevel"]); $note = ($row["note"]); if (isset($_POST['edit'])) { $event_id = ($_POST["event_id"]); $event_user = ($_POST['event_user']); $book_date = ($_POST['book_date']); $date_start = ($_POST['date_start']); $date_end = ($_POST['date_end']); $time_start = ($_POST['time_start']); $time_end = ($_POST['time_end']); $event_type = ($_POST['event_type']); $boatid = ($_POST['boatid']); $seclevel = ($_POST['seclevel']); $note = ($_POST['note']); $send_event = "Update booking set event_user='$authenticatedUser', book_date='$today', date_start='$date_start', date_end='$date_end' , time_start='$time_start' , time_end='$time_end', event_type='$event_type', boatid='$boatid', seclevel='$seclevel', note='$note' where id ='$event_id' " ; echo $send_event; ##echo "Posten er rettet"; mysql_query($send_event) or die (mysql_error()); header("Location: ../index.php?pageid=sejlerprofil"); } ; else { ?> <form action="index.php?pageid=edit_event" method="post"> <h1>Vis/add event</h1> <hr style="margin-left:5px;" /> <table border="0" cellspacing="2" colspacing="2" style="margin:5px;"> <tr> <td>Brugernavn</td> <td><?=$authenticatedUser?></td> </tr> <tr> <td><font color="">Vælg booking type:</font></td> <td> <select size="1" name="event_type" value="<?=$event_type?>" <option selected="selected" value="Weekendtur">Weekendtur</option> <option value="Ugentlig sejlads">ugentlige sejladser</option> <option value="Klargøringsweekend">klargøringsweekend</option> <option value="Afrigningsweekend">Afrigningsweekend</option> <option value="Instruktørmde">Instruktørmøde</option> <option value="Privat">Privat</option> <option value="Andet">Andet</option> <option value="Sommerferie">Sommerferie</option> <option value="Weekendtur">Weekendtur</option> </select> </td> </tr> <tr> <td>Start dato(YYYY-MM-DD)</td> <td><input type="text" name="date_start" value="<?=$date_start?>" size=10></td> <td>Start tidspunkt (hr:mn)</td> <td><input type="text" name="time_start" value="<?=substr("$time_start", 0, 5);?>" size=5></td> </tr> <tr> <td>Slut dato (YYYY-MM-DD) </td> <td><input type="text" name="date_end" value="<?=$date_end?>" size=10></td> <td>Slut tidspunkt (hr:mn)</td> <td><input type="text" name="time_end" value="<?=substr("$time_end", 0, 5);?>" size=5></td> </tr> <tr> <td>Vælg bådnummer:</font></td> <td> <select size="1" name="boatid" value="<?=boatid?>"> <option selected="selected" value="1">Båd 1</option> <option value="2">Båd 2</option> <option value="3">Båd 3</option> <option value="4">Båd 4</option> </select> </td> </tr> <tr> <td>Synlig for :</font></td> <td> <select size="1" name="seclevel" value="<?=$seclevel?>"> <option selected="selected" value="1">Kun mig selv</option> <option value="2">Alle Instruktører</option> <option value="3">Alle</option> </select> </td> </tr> <tr> <td>Noter:</td> <td><textarea name="note" value="<?=$note?>" rows="5" cols="20"><?=$note?></textarea></td> </tr> <tr> <tr> <td><input type="submit" name="edit" value="ret event"></td> <input type="hidden" name="event_id" value="<?=$event_id?>"> </tr> </table> </form> <? } ?>
13. juni 2005 - 10:41
#10
mit problem er at den ikke den ikke opdatere de select bokse ordenligt hvis den bare gjorde det kunne jeg udelade Headelocation ... Den henter íkke de værdier fra tabellen men hvis altid værdi et i alle select boksene
13. juni 2005 - 10:41
#11
} ; else { ?> til } else { ?> og fjern: echo $send_event;
13. juni 2005 - 10:44
#12
Fx. <?=$note?> hvorfor =$note og ikke echo $note
13. juni 2005 - 10:45
#13
det hjælper ikke spor , kan du ikke se hvorfor de selct bokse ikke virker så slipper jeg for det header
13. juni 2005 - 10:46
#14
note virker fint det er kun select boksene der ikke bliver indlæst ordenligt
13. juni 2005 - 10:46
#15
Kan jeg se siden i aktion ?
13. juni 2005 - 10:48
#16
13. juni 2005 - 11:32
#17
Du skal også fjerne alle evt. mellem i koden, indtil du kommer til din header...
13. juni 2005 - 12:57
#18
hvis det kun er for at realoade siden (eller anden side for den sags skyld) så kan du bruge denne her istedet for: echo "<META HTTP-EQUIV='Refresh' CONTENT='0;URL=index.php'>";
13. juni 2005 - 21:04
#19
Du kan prøve at bruge output bufferen.. (så dine data første sendes til sidst og ikke løbende til klienten. noget a la: <?php ob_start(); ...din kode.. ob_end_flush(); ?>
20. juni 2005 - 10:43
#20
"Cannot mod. header info." fejlen kommer NÅR: Du udskriver "noget" før du kalder header()... - det er lige meget om dette er så lidt som et tegn - fx et linje-skift fordi <?php ikke står hel øverst.. Dette KAN ikke ændres, det er sådan HTTP-protokollen er opbygget, men man kan omgå det ved at lave en output-buffer (eller OB)... dette kan laves som tbrf skriver - men det er lidt hårdt ved serveren.. Det er derfor meget bedre at omstrukturere sit script så der aldrig kommer noget output i starten, da man således stadig kan kalde header().. (og setcookie() og session_start() da disse også udsender en header) PS, at hæve point for et hurtigt svar er ikke altid det man får - ved højere point-antal får man ofte mere "spam" ved folk der prøver at svare.. - dem der ved meget er ligeglad om det er 15 eller 200 da man i forvejen har over 10.000 point, og ik skal bruge dem... Fangel
02. december 2005 - 08:54
#21
lukker...
Vi tilbyder markedets bedste kurser inden for webudvikling