Autor Zpráva
Tommy4
Profil
Ahoj, udělal jsem si knihu ze stránky: http://www.pcsvet.cz/art/article.php?id=5219
, ale když ji zprovozním, napíšemi to tohle: http://www.tommy4.ic.cz/upload/navstevni%20kniha/kniha.php
, nevíte prosím Vás jak to opravit? Velmi děkuji za každou radu.
David_
Profil *
Ahoj,
v první řadě si tam urči kódování (windows-1250),
máš tam chybu v SQL dotazu, řádek 117, vypadá to, že asi chyba, pošli ten kód co tam máš, a výpis DB, měl bys na tom rádku 117 mít mysql_fetch_array(), pokud pokud ne, tak někde kolem, pošli přímo ten tvůj zdroják, ať se v tom dá vyznat :-)
Tommy4
Profil
Mno, mám to tam, akorát je to trošku delší, takže to trochu ořežu :-)

if($SUBMIT !=""){
IF($name != "" and $text != ""):

@$pridej = MySQL_query( "INSERT INTO kniha VALUES('','$name','$datum','$text','$mejl')");
echo "<center><b>Váš příspěvek byl přidán!</b></center>";
else:
echo "<center><b>Nebyly vyplněny některé údaje.</b></center>";
endif;
}

//vypis dat z tabulky kniha
$max = "15";

$aaa=MySQL_Query("SELECT count(*) FROM kniha ORDER BY id DESC");
$bbb=mysql_fetch_array($aaa);
$str=Ceil($bbb[0]/$max);

Echo "<br><center>Strana: ";
for($i=0;$i<$str;$i++){
if(($i*$max)==$poz)echo $i+1; else
echo " <A class=\"odkaz\" href='kniha.php?poz=".($i*$max)."'>".($i+1)."</A> ";
}

echo "<br><br>";

$aa=MySQL_Query("SELECT * FROM kniha ORDER BY id DESC LIMIT $poz,$max");
echo mysql_error();
while ($bb=mysql_fetch_array($aa)){

$nahradit_co = array("*b*","*/b*","*u*","*/u*","*i*","*/i*","*br*","*center*","*/cent er*,",":-(",":-p",":-D",";-)",":-)",":-|",":-/");
$nahradit_cim = array("<b>","</b>","<u>","</u>","<i>","</i>","<br>","<center>","</cent er>","<img src=\"smajlici/10.gif\" alt=\":-(\">","<img src=\"smajlici/2.gif\" alt=\":-p\">","<img src=\"smajlici/1.gif\" alt=\":-D\">","<img src=\"smajlici/4.gif\" alt=\";-)\">","<img src=\"smajlici/6.gif\" alt=\":-)\">","<img src=\"smajlici/7.gif\" alt=\":-|\">","<img src=\"smajlici/8.gif\" alt=\":-/\">");
$textem = str_replace($nahradit_co, $nahradit_cim, $bb["prispevek"]);

IF($bb["mejl"] == "" or $bb["mejl"] == "@"){

echo "</center>
<table width=\"90%\" align=\"center\">
<tr>
<td>
$textem<br><br>
</td>
</tr>

<tr>
<td>
Tento příspěvek nám zde dne ".$bb["datum"]." zanechal <b>".$bb["jmeno"]."</b>.
</td>
</tr>
</table><br>
";
nightfish
Profil
chyba je na řádku
$aa=MySQL_Query("SELECT * FROM kniha ORDER BY id DESC LIMIT $poz,$max"); 

pravděpodobně nemáš nastavenou proměnnou $poz, a to v důsledku vypnutých Register globals
na začátek skriptu si dej:
if (isset($_GET['poz'])) $poz = (int)$_GET['poz']; else $poz = 0;
Tommy4
Profil
Díky, jde to, ale nejdou tam napsat příspěvky, hodí mi to error 404... Asi tam chybí stránka, myslím... Díky za rady.
(s PHP začínám)
Adam Zábranský
Profil
Tommy4
koukni se jestli existuje stránka na kterou dáváš action v odesílacím formuláři...
Tommy4
Profil
Nějak jsem to tam nenašel, přikládám kód knihy:
http://www.tommy4.ic.cz/upload/knihaphp.txt
TSD
Profil *
Existuje soubor inkniha.php, na který máš namířený ten formuláč?
TSD
Profil *
aha, tak jinak. Oprav si
<FORM name=\"addmessage\" action=\"inkniha.php?poz=0\" method=\"POST\">


v action musí být název toho souboru, kam se mají posílat data. Jestli jsem to pochopil správně, tak jde o soubor kniha.php
Tommy4
Profil
Ajo, promiňte, já si toho nevšiml. :-D
Tommy4
Profil
Díky moc, funguje to.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: