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

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

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

Příspěvekod Stene » 14 črc 2010 13:37

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? : )

Reklama
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

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

Příspěvekod Stene » 14 črc 2010 16:40

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 :(

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

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

Příspěvekod Stene » 15 črc 2010 13:26

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..


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů