| 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: 12 let
|
|||
0