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? : )
Kontrola nevyplněných formulářů (php)
Moderátor: Mods_senior
- Stene
- Level 6

- Příspěvky: 3124
- Registrován: 11 úno 2009 15:44
- Bydliště: Jihlava
- Kontaktovat uživatele:
Re: Kontrola nevyplněných formulářů (php)
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 :(
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 :(
- Stene
- Level 6

- Příspěvky: 3124
- Registrován: 11 úno 2009 15:44
- Bydliště: Jihlava
- Kontaktovat uživatele:
Re: Kontrola nevyplněných formulářů (php)
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..
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..
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 0 Odpovědi
- 2977 Zobrazení
-
Poslední příspěvek od nermitus
-
- 0 Odpovědi
- 12335 Zobrazení
-
Poslední příspěvek od viktorsavo
-
- 2 Odpovědi
- 2604 Zobrazení
-
Poslední příspěvek od Alferi
-
- 5 Odpovědi
- 12870 Zobrazení
-
Poslední příspěvek od pcmaker
-
- 28 Odpovědi
- 37955 Zobrazení
-
Poslední příspěvek od Shokata88
