webForumDet fria alternativet
Logga in / Bli medlem

paging och include skummt.

PHP

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

Trådstarten, av badmongo

hej.... jag har en gästbok....(klotter.php) som jag includat i index.php paging länken ser ut såhär. i klotter.php ser ut så här \<a href='klotter.php?sida=$aldre'\>äldre\</a\> hur ska jag lösa det utan att gästboken ska öppna sig i en ny sida när man trycker äldre? \-------index.php \<?php if ($\GET\['sida'\] == "start") { include "start.php"; } elseif ($\GE

Läs hela trådstarten →
Medlem 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.

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

Medlem 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.

Medlem 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?

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

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

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

256 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)