Zadejte hledaný výraz...

PHP kniha návštěv

Liverboy
verified
rating uzivatele
(2 hodnocení)
8. 3. 2013 13:10:43
Zdravim.
Nedávno sem se pustil do php, momentálně sem vytvořil návštěvní knihu. Je jen obyčejná bez nějakého designu apod. Potřeboval by jsem poradit s jedním problémem. Když přidám zápis pěkně se mi zobrazí, ale když dám refresh stránky zápis se přidá znovu. Poradíte mi jak to ošetřit.
Všem děkuji za případné odpovědi.
PS: pokud vám script nápadně připomíná příklad z nějaké knihy máte pravdu :)

// Pripojeni k DB
$db_connect=mysqli_connect
(******************);
// Test pripojeni
if(!$db_connect)
die("Connection failed");
// Nastaveni cestiny
$objekt_vysledku=mysqli_query($db_connect, "SET NAMES 'cp1250'");
//Test jestli prisli data z formulare
if (isset ($_POST))
{
//SQL prikaz zapisu z formulare do DB
$sql_zapis=
"INSERT INTO kniha_navstev (datum, jmeno, email, zprava)"
."VALUES (NOW(),
'".mysqli_real_escape_string($db_spojeni,$_POST)."',
'".mysqli_real_escape_string($db_spojeni,$_POST)."',
'".mysqli_real_escape_string($db_spojeni,$_POST)."'
)";
//SQL zaslani do DB
$objekt_result=mysqli_query($db_connect,$sql_zapis);
//Test jestli se provedl prikaz
if(!$objekt_result)
{
echo "Neco je spatne";
echo "
";
echo "Chyba: ", mysqli_error($db_connect);
}
}
//-----VYPIS Z KNIHY NAVSTEV---------//
$objekt_result=mysqli_query($db_connect,'SELECT * FROM kniha_navstev ORDER BY datum DESC');
if(!$objekt_result)
{
echo "Prikaz na vypis chyba";
echo "
";
echo "Chyba: ", mysqli_error($db_connect);
exit();
}
//Zobrazeni zapisu
while ($zapis=mysqli_fetch_array($objekt_result))
{
echo "
";
echo "Datum: ".$zapis."
";
echo 'Zadal: ',$zapis,'(',$zapis,')
';
echo "Zprava: ".$zapis."
";
echo "
";
echo "
";
}
//Odpojeni od db
mysqli_free_result($objekt_result);
if($db_connect)
mysqli_close($db_connect);
?>
8. 3. 2013 13:10:43
https://webtrh.cz/diskuse/php-kniha-navstev/#reply875306
Pavel Janků
verified
rating uzivatele
(93 hodnocení)
8. 3. 2013 13:27:25
Napsal Liverboy;920198
Zdravim.
Nedávno sem se pustil do php, momentálně sem vytvořil návštěvní knihu. Je jen obyčejná bez nějakého designu apod. Potřeboval by jsem poradit s jedním problémem. Když přidám zápis pěkně se mi zobrazí, ale když dám refresh stránky zápis se přidá znovu. Poradíte mi jak to ošetřit.
Všem děkuji za případné odpovědi.
PS: pokud vám script nápadně připomíná příklad z nějaké knihy máte pravdu :)

// Pripojeni k DB
$db_connect=mysqli_connect
(******************);
// Test pripojeni
if(!$db_connect)
die("Connection failed");
// Nastaveni cestiny
$objekt_vysledku=mysqli_query($db_connect, "SET NAMES 'cp1250'");
//Test jestli prisli data z formulare
if (isset ($_POST))
{
//SQL prikaz zapisu z formulare do DB
$sql_zapis=
"INSERT INTO kniha_navstev (datum, jmeno, email, zprava)"
."VALUES (NOW(),
'".mysqli_real_escape_string($db_spojeni,$_POST)."',
'".mysqli_real_escape_string($db_spojeni,$_POST)."',
'".mysqli_real_escape_string($db_spojeni,$_POST)."'
)";
//SQL zaslani do DB
$objekt_result=mysqli_query($db_connect,$sql_zapis);
//Test jestli se provedl prikaz
if(!$objekt_result)
{
echo "Neco je spatne";
echo "
";
echo "Chyba: ", mysqli_error($db_connect);
}
}
//-----VYPIS Z KNIHY NAVSTEV---------//
$objekt_result=mysqli_query($db_connect,'SELECT * FROM kniha_navstev ORDER BY datum DESC');
if(!$objekt_result)
{
echo "Prikaz na vypis chyba";
echo "
";
echo "Chyba: ", mysqli_error($db_connect);
exit();
}
//Zobrazeni zapisu
while ($zapis=mysqli_fetch_array($objekt_result))
{
echo "
";
echo "Datum: ".$zapis."
";
echo 'Zadal: ',$zapis,'(',$zapis,')
';
echo "Zprava: ".$zapis."
";
echo "
";
echo "
";
}
//Odpojeni od db
mysqli_free_result($objekt_result);
if($db_connect)
mysqli_close($db_connect);
?>
Musíš vyčistit hlavičky, takže v tom skriptu dej buď
kde místo xxxxxxxx zadáš URL té knihy, což znamená udělat si nějak jinak notifikace, nebo je nevyhazovat...
Nebo si můžeš udělat zápis přes více souborů.
8. 3. 2013 13:27:25
https://webtrh.cz/diskuse/php-kniha-navstev/#reply875305
Patrik
verified
rating uzivatele
(18 hodnocení)
8. 3. 2013 13:27:55
po odoslani formulara este raz presmeruj kam potrebujes
8. 3. 2013 13:27:55
https://webtrh.cz/diskuse/php-kniha-navstev/#reply875304
Ondřej Švec
verified
rating uzivatele
8. 3. 2013 13:29:07
Víceméně 2 způsoby:
- jednodušší: po přidání příspěvku přesměrovat
- nebo uložit nějaký příznak (klidně hash) do $_SESSION a pak kontrolovat, jestli se nevkládá něco duplicitního
8. 3. 2013 13:29:07
https://webtrh.cz/diskuse/php-kniha-navstev/#reply875303
Liverboy
verified
rating uzivatele
(2 hodnocení)
8. 3. 2013 13:41:24
Funguje. Všem děkuji za odpovědi nakonec sem se rozhodl použít (s tím co umím) přesměrování vyhodnocení do jiného souboru. Znovu všem děkuji
8. 3. 2013 13:41:24
https://webtrh.cz/diskuse/php-kniha-navstev/#reply875302
Pro odpověď se přihlašte.
Přihlásit