Autor Zpráva
marek888
Profil
Dobrý den. Potřeboval bych poradit ohledně této stránky http://www.pandorafields.xf.cz/prizpevky.html . Na stránce mám prostor na text. To je snad jedniné, co mi tam jde. Když kliknete na tlačítko Odeslat příspěvek, objeví se mě neznámí error. Nevím zdali pak mám správně nastavenou cestu k databázi, nebo jestli v té databázi mi něco chybí.
Prosím poraďte mi, co s tím mám udělat, aby po kliknutí na tlačítko se text, co byl napsán, uložil do databáze. Všem Moc děkuji !
Jan Tvrdík
Profil
marek888:
Když kliknete na tlačítko Odeslat příspěvek, objeví se mě neznámí error.
Můžeš zjistit, o jakou chybu jde? Např. pohledem do logů nebo zapnutím zobrazování chyb. Pak se asi bude hodit ten problematický kód.
peta
Profil
http://peter-mlich.wz.cz/web/mysql/pr/mysql_priklad.txt
1. zmenis priponu na php.
2. do mysql vytvoris tabulky z komentare pod radkem --- mysql_priklad.sql ---
3. nastavis udaje pro prihlaseni k mysql, asi ctvrty-desaty radek $CFG = array(
4. spustis
A melo by to bez problemu fungovat pri spravnych udajich.

Z toho souboru muzes pouzit 3 radky nahore s error_reporting, ty si pridej do book_write.php uplne nahoru. melo by to povolit vypis php chyb.
Ale tez by bylo moc fajn sem dat obsah toho php souboru book_write.php. Pripadne mu zmen priponu na txt a dej na nej link (!heslo zahvezdickuj v tom txt).
marek888
Profil
Ahoj, po dlouhém zkoumání jsem přišel na to, že mi to asi jen tak takový error nehází. Na této stránce http://www.pandorafields.xf.cz/book_write.php mám vložený kod ze stránek http://www.zive.cz/clanky/php--37-dil--navstevni-kniha-i/sc-3-a-120550/default.aspx . Ten kod vypadá následnovně:
<html>
    <head>
        <title>Zápis do návštěvní knihy</title>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    </head>
    <body>
        <?php
        $id_spojeni = mysql_connect(`localhost`, `root`, `skouzka`);
        if (!$id_spojeni)
            die(`Spojení s MySQL databází se nezdařilo.`);
        $vysledek_zvoleni_db = mysql_select_db(`pokus`, $id_spojeni);
        if (!$vysledek_zvoleni_db) {
            echo mysql_errno($id_spojeni), `: `, mysql_error($id_spojeni), `<br>`;
            die(`Nepodařilo se vybrat databázi pokus.`);
        }
        $name = $_POST[`name`];
        $mail = $_POST[`mail`];
        $message = $_POST[`message`];
        $sql = "INSERT INTO book(write_time,name,mail,message)"
                . " VALUES(NOW(),"
                . "`" . mysql_escape_string($name) . "`,"
                . "`" . mysql_escape_string($mail) . "`,"
                . "`" . mysql_escape_string($message) . "`)"
        ;
        $id_vysledku = mysql_query($sql, $id_spojeni);
        if (!$id_vysledku) {
            echo mysql_errno($id_spojeni), `: `, mysql_error($id_spojeni), `<br>`;
            die(`Nepodařil se SQL příkaz.`);
        }
        echo `Zpráva je zapsána`;
        mysql_close($id_spojeni);
        ?>
    </body>
</html>
Když kliknu na tlačítko zveřejnit příspěvek na stránkách, které namám nahrané, tak mi to udělá toto:
`; die(`Nepodařilo se vybrat databázi pokus.`); } $name = $_POST[`name`]; $mail = $_POST[`mail`]; $message = $_POST[`message`]; $sql = "INSERT INTO book(write_time,name,mail,message)" . " VALUES(NOW()," . "`" . mysql_escape_string($name) . "`," . "`" . mysql_escape_string($mail) . "`," . "`" . mysql_escape_string($message) . "`)" ; $id_vysledku = mysql_query($sql, $id_spojeni); if (!$id_vysledku) { echo mysql_errno($id_spojeni), `: `, mysql_error($id_spojeni), `
`; die(`Nepodařil se SQL příkaz.`); } echo `Zpráva je zapsána`; mysql_close($id_spojeni); ?>
Nežto když kliknu na tlačítko na stránkách, které mám nahrané, tak se mi tam zobrazí pouze bílá plocha. Možná je to také tím, že neumím udělat cesku k databázi. Děkuji všem za odpovědi !
Kajman
Profil
Zkuste všechny zpětné apostrofy ` v tom kódu změnit na jednoduchý apostrof '
marek888
Profil
Kajman:
To jsem teď zkusil, a hodilo to tu samou věc
Kajman
Profil
marek888:
Ukažte opravený kód.
peta
Profil
marek888:
` - zpetny apostrof - jen v sql prikazech " `key`='value' "
" - dvojita uvozovka - php(sql) retezce "text\"text\"text", 'text"text"text'
' - apostrof - php/sql retezce "text'text'text"
Za zive uz jsem parkrat tez narazil na chybne zapsane apostrofy. Zpetne apostrofy pro sql prikazy ale autor clanku nepouzil, takze pri nahrazeni vsech by to mohlo zacit fungovat. Prikaz error_reporting ti vypise chyby. Bylo by fajn dat sem link na php kod a text chyby, jestli ji chces opravit.

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: