webForumDet fria alternativet

paging och include skummt.

27 svar · 343 visningar · startad av badmongo · sida 2 av 2

MatteMedlem sedan aug. 20002 975 inlägg
#21

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.

badmongoMedlem sedan maj 200367 inlägg
#22

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)";}
?>

MatteMedlem sedan aug. 20002 975 inlägg
#23

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.

badmongoMedlem sedan maj 200367 inlägg
#24

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?

MatteMedlem sedan aug. 20002 975 inlägg
#25

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");
}
?>
badmongoMedlem sedan maj 200367 inlägg
#26

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

MatteMedlem sedan aug. 20002 975 inlägg
#27

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");
}
?>
badmongoMedlem sedan maj 200367 inlägg
#28

ååh fyfan vad bäst du är....

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)