Autor | Zpráva | ||
---|---|---|---|
nyllo Profil |
Zdravím.
Sesmolil jsem s pomocí nějakých návodů formulář a kontrolou ale kontrolu bych potřeboval rozšířit o telefon (popřípadě přidat ověření duplicitní hodnoty z existujících zápisů v MySQL) nyní vypadá takto <?php SetLocale(LC_ALL, "Czech"); $datum = StrFTime("%Y-%m-%d", Time()); include './class/db.php'; mysql_connect($server, $user_db, $pass_db); mysql_select_db($table_db) or die("Chyba! Databáze nebo tabulka nebyla nalezena!"); mysql_query("SET NAMES 'utf-8'"); if(isset($_POST['poslat'])) { $jmeno = htmlspecialchars($_POST['jmeno']); $prijmeni = htmlspecialchars($_POST['prijmeni']); $email = htmlspecialchars($_POST['email']); $tel = htmlspecialchars($_POST['tel']); $karta = htmlspecialchars($_POST['karta']); $date = $datum; $vloz ="insert into register set jmeno='$jmeno', prijmeni='$prijmeni', email='$email', tel='$tel', karta='$karta', date='$datum';"; echo '<script type="text/javascript" for="window" event="onLoad()"> <!-- window.location.href="domu" //--> </script>'; } function JeEmail ($cislo) { return ereg("^.+@.+\..+$",$cislo); } $BudemeZobrazovat=true; if (!empty($_POST)) // tak už se odesílalo a musíme kontolovat { if (!JeEmail($_POST["email"])) { // kontrolou jsme neprošli echo '<div class="alert alert-danger"><b>Tohle nevypadá jako e-mail!</b></div></br>'; } else { // kontolou jsme prošli $BudemeZobrazovat=false; $result=mysql_query($vloz); echo '<div class="alert alert-success">Karta byla obědnána</div>'; } } mysql_close(); ?> <!-- Formulář --> <form method="post"> <input name="jmeno" class="form-control" placeholder="Jméno" value="<?echo $_POST["jmeno"]?>" maxlength="50" /><br /> <input name="prijmeni" class="form-control" placeholder="Příjmení" value="<?echo $_POST["prijmeni"]?>" maxlength="50" /><br /> <input name="email" class="form-control" placeholder="E-mail" value="<?echo $_POST["email"]?>" maxlength="50" /><br /> <input name="tel" class="form-control" placeholder="Telefon" value="<?echo $_POST["tel"]?>" maxlength="50" /><br /> <?php $karts = array("VIP karta - 300Kč","Gold VIP karta - 600Kč"); echo '<select name="karta" class="form-control" type="text">'; foreach ($karts as $karta) { $k = '<option class="form" value="'. $karta . '"'; if($karta == $_POST["karta"]){ $k = $k . ' selected="selected"'; } $k = $k . '>'. $karta . '</option>'; echo $k; } echo '</select><br>'; ?> <hr> <button type="submit" class="btn btn-success" name="poslat">Obědnat</button> </form> PS: jsem začátečník Předem děkuji za pomoc |
||
janbarasek Profil |
#2 · Zasláno: 10. 2. 2014, 19:14:44
nyllo:
Telefon kontroluj úplně jednoduše, jestli to je číslo a jestli má požadovanou délku: <?php $cislo = 123456789; if (is_numeric($cislo) && strlen($cislo) <= 9) { echo 'je to číslo!'; } else { echo 'není to číslo :('; } ?> Psal jsi, že jsi začátečník. Je to vidět, možná by nebylo na škodu, procvičit si i základy Českého jazyka. Titulek toho Buttonku mě dostal: <button type="submit" class="btn btn-success" name="poslat">Obědnat</button> |
||
nyllo Profil |
#3 · Zasláno: 10. 2. 2014, 19:21:28
to mi ale bohužel nebude komunikovat se stávajícím systémem ověření
|
||
janbarasek Profil |
#4 · Zasláno: 10. 2. 2014, 19:26:31
nyllo:
Kompletní řešení ti tu nikdo zadarmo nedá. My tě maximálně navedeme určitou cestou, nebo poradíme s konkrétní věcí. Celek musíš vytvořit sám. |
||
nyllo Profil |
#5 · Zasláno: 10. 2. 2014, 19:39:08
to by mi stačilo..
|
||
David Klouček Profil |
Validovat to můžeš různě, je spousta tvarů tel. čísel. Třeba:
if (preg_match('~^\+?(\d{1,}\s*?){3,}$~', $number)) //.. Na validaci emailu nepotřebuješ regulár, stačí: if(filter_var($email, FILTER_VALIDATE_EMAIL)) //.. |
||
nyllo Profil |
#7 · Zasláno: 10. 2. 2014, 19:57:17
mě by spíše stačila nějaká funkce která se optá zda je vše vyplněno a správně a poté teprve odešle záznam do databáze
|
||
pcmanik Profil |
#8 · Zasláno: 10. 2. 2014, 20:22:02
nyllo:
Na to či je niečo vyplnené ti stačí použiť strlen() tým zistíš či je tam aspoň jeden znak. A na validáciu už môžeš použiť to čo ti poradil David Klouček. |
||
nyllo Profil |
#9 · Zasláno: 10. 2. 2014, 20:59:41
Nakonec jsem to vyřešil takto...
if ($o1 && $o2 && $o3 && $o4) je to asi zbytečně složité ale hlídá vše co chci a zvládnu to rozběhnout. |
||
pcmanik Profil |
#10 · Zasláno: 12. 2. 2014, 15:55:04
nyllo:
Ten kód ti sleduje aj dĺžku reťazcov? Či niesu príliš krátke alebo dlhé a či sú v spravnom tvare? Alebo čo vlastne je v tých premenných? Lebo stačí aby dané premenné existovali a if sa vyhodnotí vždy ako true. |
||
nyllo Profil |
#11 · Zasláno: 12. 2. 2014, 20:36:35
už je to vyřešené
|
||
Časová prodleva: 10 let
|
0