NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Diskuze v PHP bez použití databáze

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Frenzy
Člen
Avatar
Odpovídá na Frenzy
Frenzy:11.9.2012 19:16

Jak by se to dalo teda vyřešit?

 
Odpovědět
11.9.2012 19:16
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Frenzy
David Hartinger:11.9.2012 19:28

Jo, to už zní logičtěji :) Jde. Ten kód mi přijde nějaký divný, zkus toto, kdyžtak to v článku upravím:

<?php

$file = "diskuze.txt";

if (isset($_POST['odeslat']))
{
        $fo = fopen($file, "a");
        if (fwrite($fo, '<p>Od: ' . htmlspecialchars($_POST['autor']) . '<br />Titulek: ' . htmlspecialchars($_POST['nadpis']) . '<br /><br>Napsal: ' . htmlspecialchars($_POST['obsah']) . '</p>'))
                echo("Obsah byl úspěšně zapsán,");
        else
                echo("Někde se stala chyba!");

        fclose($fo);
        header('Location: .');
        exit;
}


?>

<h2>Diskuze:</h2>
<?php readfile($file); ?>

<form method="post">
        Autor: <input type="text" name="autor" /><br/>
        Nadpis: <input type="text" name="nadpis" /><br/>
        Příspěvek: <textarea name="obsah" cols="50" rows="10"></textarea><br/>
       <input type="submit" name="odeslat">
</form>
Editováno 11.9.2012 19:41
Odpovědět
11.9.2012 19:28
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Frenzy
Kit:11.9.2012 19:32

Zkus přidat hned za volání funkce fclose() řádky

header('Location: .');
exit;

Často se na to zapomíná.

První echo a volání funkce readfile() je nutné přesunout až těsně před poslední echo.

Ten původní skript je dost zpřeházený, pořadí příkazů je dost důležité.

Odpovědět
11.9.2012 19:32
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:11.9.2012 19:40

Jo, to tam hodím, viz. můj příspěvek výše. To už je ok ne?

Odpovědět
11.9.2012 19:40
New kid back on the block with a R.I.P
Avatar
Frenzy
Člen
Avatar
Frenzy:11.9.2012 20:57

Díky, už to funguje akorát se to po odesláni přehodí na index, jak to mám udělat aby to zůstalo na té diskuzi?

Editováno 11.9.2012 20:58
 
Odpovědět
11.9.2012 20:57
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:12.9.2012 8:57

Je to OK. Jen řádky

    echo("Obsah byl úspěšně zapsán,");
else
    echo("Někde se stala chyba!");

se staly zbytečnými, protože se nikdy neobjeví. Takže se to dá ještě zjednodušit.

Odpovědět
12.9.2012 8:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Frenzy
David Hartinger:13.9.2012 13:02

Do toho location napiš místo tečky diskuze.php. Předělal jsem ten článek, mělo by to tam být funkční :)

Odpovědět
13.9.2012 13:02
New kid back on the block with a R.I.P
Avatar
Frenzy
Člen
Avatar
Odpovídá na David Hartinger
Frenzy:13.9.2012 16:02

Ok, díky

 
Odpovědět
13.9.2012 16:02
Avatar
Jakub Mudra
Tvůrce
Avatar
Jakub Mudra:23.10.2012 7:53

Malinko sem to upravil,je tam kontrola proti robotům - mělo by to fungovat.

Odpovědět
23.10.2012 7:53
Uvnitř jsou všichni stejní...
Avatar
albertpatera
Tvůrce
Avatar
albertpatera:10.12.2012 20:58

jak udělám to...aby nebylo možný odeslat prázdnej komentář? díky :D

 
Odpovědět
10.12.2012 20:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 74.