Stránka 1 z 1

Kontrola nevyplněných formulářů (php)  Vyřešeno

Napsal: 14 črc 2010 13:37
od Stene
Ahoj,
napsal jsem si script na kontrolu formulářových polí, zda se nezasílají prázdná.. Vypadá to asi takto

if (empty($_POST['jmeno']))
{ echo "<div id=\"neodeslano\">Nevyplnil jsi text nebo své jméno</div>"; }
else {
další kód zpracující odesílání
}
.. Jenže kde je chybka.. Já, když vejdu na stránku, na které je formulář i php zpracovávací moje požadavky, hned se zobrazí echo "Nevyplnil jsi text nebo své jméno"..
Prostě, vejdu na stránku a hned se zobrazí ta hláška, která by se měla zobrazit až po zaslání prázdných políček. Doufám, že jsem to vysvětlil obstojně.
Poradí někdo? : )

Re: Kontrola nevyplněných formulářů (php)

Napsal: 14 črc 2010 16:40
od Stene
Tak tohle už jsem vyřešil.. Ještě potřebuju řešení na toto
Odešlu formulář, vše se v pořádku zpracuje a pozracování kliknu na F5 tak se ten příspěvek vloží ještě jednou.. Nějaké řešení?

<?php
if (isset($_POST['odeslano'])) {
if (empty($_POST['jmeno']))
{ echo "<div id=\"neodeslano\">Nevyplnil jsi text nebo své jméno</div>"; }
else echo "<div id=\"neodeslano\">odeslano</div>";
{

$ref = $REMOTE_ADDR;
$datum = StrFTime("%d/%m/%Y %H:%M:%S", Time());
// Připojení k databázi.
$db_spojeni = mysqli_connect
('přístupová data');


// Správné nastavení češtiny.
$objekt_vysledku = mysqli_query($db_spojeni, "SET NAMES 'UTF8'");

// Test, jestli přišla data z formuláře.
if (isset($_POST['jmeno']))
{
// Vytvoření SQL příkazu typu INSERT.
$sql_prikaz =
"INSERT INTO dorost(jmeno, datum, ip_adresa, text) "
."VALUES('"
.mysqli_real_escape_string($db_spojeni,$_POST['jmeno'])
."','"
.mysqli_real_escape_string($db_spojeni,$datum)
."','"
.mysqli_real_escape_string($db_spojeni,$ref)
."','"
.mysqli_real_escape_string($db_spojeni,$_POST['text'])
."')"
;

// Zaslání SQL příkazu do databáze.
$objekt_vysledku = mysqli_query($db_spojeni, $sql_prikaz);
}

// Odpojení od databáze.
if ($db_spojeni)
mysqli_close($db_spojeni);
}}
?>

Bohužel, zvýrazňovač syntaxí nefunguje :(

Re: Kontrola nevyplněných formulářů (php)

Napsal: 15 črc 2010 13:26
od Stene
Tak jsem to konečně vyřešil...
A mám ještě jeden dotaz.. Když odešlu zprávu (napíše se mi odesláno) a zmáčknu na F5 (aktualizovat) tak se tam zpráva zašle ještě jednou? Je proti tomu nějaká ochrana..