Det finns inget som kan ge parse error på den raden.
Någon gång har jag varit med om att det kommit in dolda ogiltliga tecken när man klippt och klistrat från en websida.
Kan du ge mig några rader före och efter.
27 svar · 343 visningar · startad av badmongo · sida 2 av 2
Det finns inget som kan ge parse error på den raden.
Någon gång har jag varit med om att det kommit in dolda ogiltliga tecken när man klippt och klistrat från en websida.
Kan du ge mig några rader före och efter.
du får se hela altet.
<?
/*---------------------- INSTÄLLNINGAR -----------------------------------*/
$server = "localhost"; // MySQL-serveradress, oftast localhost
$username = "xxxxxxxx"; // MySQL-användarnamn
$password = "xxxxxxxx"; // MySQL-lösenord
$databas = "xxxxxxxx"; // Databasens namn, ska innehålla tabellen guestbook
$antal = "7"; // Antal inlägg per sida
/*---------------------- INSTÄLLNINGAR -----------------------------------*/
// Kopplar till databasen
$koppling = @mysql_connect("$server", "$username", "$password");
mysql_select_db("$databas");
if (!$koppling) {
echo "Databasen är för tillfället ur funktion. Var vänlig försök senare.";
exit();
}
// Lägger till nya inlägg
if($todo == "add"){
$namn = htmlspecialchars($namn);
$epost = htmlspecialchars($epost);
$hemsida = eregi_replace("http://", "", $hemsida);
$hemsida = htmlspecialchars($hemsida);
$meddelande = eregi_replace("\n", "<br>", $meddelande);
$meddelande = eregi_replace("\r", "", $meddelande);
$tid = date("H:i, Y-m-d");
[KOD]$sql = "INSERT INTO guestbook(namn, epost, hemsida, meddelande, tid) VALUES('$namn', '$epost', '$hemsida', '$meddelande', '$tid')";
// Ta bort "or die"-delen när skriptet fungerar
mysql_query($sql) or die("SQL: $sql <br>".mysql_error());
echo "<script type=\"text/javascript\">
<!--
document.location.href = 'index.php?sida=klotter';
// -->
</script>";
}
// Formuläret
?>
<form action="index.php?sida=klotter&todo=add" method="post">
namn<br>
<input name="namn" type="text" size="20"><br>
epost<br>
<input name="epost" type="text" size="20"><br>
hemsida<br>
<input name="hemsida" type="text" size="20"><br>
<textarea name="meddelande" wrap="virtual" rows=4 cols=17></textarea><br>
<input type="image" border="0" name="submit" src="gfx/oki.gif" width="28" height="19">
</form>
\<?
// Kollar vilken sida man är på
if(!isset($page)){$page=1;}
$step = ($page-1)*$antal;
// Hämtar inläggen, och antalet inlägg
$meddelanden = mysql_query("SELECT namn, epost, hemsida, meddelande, tid FROM guestbook ORDER BY ID DESC LIMIT $step, $antal");
$inlagg = mysql_fetch_array(mysql_query("SELECT COUNT(ID) AS ID FROM guestbook"));
$inlagg = $inlagg['ID'];
// Listar upp inläggen
while($rad = mysql_fetch_array($meddelanden)){
echo "<b>$rad[namn] ($rad[tid])</b> ";
if($rad['epost'] != ""){echo "<a href='mailto:$rad[epost]' target='_blank'><u>mejl</u></a> ";}
if($rad['hemsida'] != ""){echo "<a href='http://$rad[hemsida]' target='_blank'><u>hemsida</u></a>";}
echo "<br>$rad[meddelande] <br>";
echo "<img src='gfx/hr.gif' width='293' height='9'><br>";
}
// Länkar till nyare och äldre inlägg
$nyare = $page-1;
$aldre = $page+1;
if($page > 1){echo "<a href='index.php?sida=klotter&page=$nyare'><u>nyare</u></a>";}
if($page > 1 AND $page != ceil($inlagg / $antal)){echo " | ";}
if($page != ceil($inlagg / $antal) AND !($inlagg < $antal)){
echo "<a href='index.php?sida=klotter&page=$aldre'><u>äldre</u></a>";
}
// Visar antal inlägg<br>
echo "<br>($inlagg inlägg på ".ceil($inlagg / $antal)." ";
if(ceil($inlagg / $antal) < 2){echo "sida)";}else{echo "sidor)";}
?>
Tag bort kod-taggen som smugit sig med
[ KOD]$sql ...
Ska vara
$sql ...
Trodde det var en oavslutad kod-tagg i ditt inlägg.
[EDIT]
Redigerade lite för att det skulle bli tydligare.
fyfan... tyckte att den va lite skum... fan vad bra .. nu funkar det... förutom att man måste uppdatera för att se nya inlägget.--...
hur löser jag det?
Det kan ha att göra med att sidan cachas i webbläsaren. Normalt sett hade vi lagt en header() i klotter.php för att förhindra detta, men headers går ju inte att lägga i klotter.php.
Testa att lägga följande överst (eller före någon output) i index.php:
<?php
if (isset($_GET['sida']) && $_GET['sida'] == "klotter") {
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
}
?>
felmedeleande.
Warning: Cannot add header information - headers already sent by (output started at /Volumes/OSX_2/web/badmongo/testsida/index.php:1) in /Volumes/OSX_2/web/badmongo/testsida/index.php on line 3
Warning: Cannot add header information - headers already sent by (output started at /Volumes/OSX_2/web/badmongo/testsida/index.php:1) in /Volumes/OSX_2/web/badmongo/testsida/index.php on line 4
jag lade kodsnutten överst i index.php
Du får inte ha några tomrader eller mellanslag före PHP-taggen:
<?php // <-- Allra översta raden, längst till vänster
if (isset($_GET['sida']) && $_GET['sida'] == "klotter") {
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
}
?>
ååh fyfan vad bäst du är....