Autor | Zpráva | ||
---|---|---|---|
pepi3 Profil |
#1 · Zasláno: 15. 4. 2010, 18:54:09 · Upravil/a: pepi3
čaute pomůžete mi potřebuju formulář na registraci do závodu...sem lama moc to neumím...prostě nevím proč to nefunguje...+ ještě bych potřeboval poslat jakoby další email, který pošle tomu který se registruje mail že je jakože zaregistrovaný at pošle peníze na účet blabla....dík
<?php $number = "$_SERVER[REMOTE_ADDR]"; $datum = Date("j.m.Y H:i:s", Time()); $jmeno=$_REQUEST['jmeno']; $adresa=$_REQUEST['adresa']; $kategorie=$_REQUEST['kategorie']; $mobil=$_REQUEST['mobil']; $mail=$_REQUEST['mail']; $cislocipu=$_REQUEST['cislocipu']; $vzkaz=$_REQUEST['vzkaz']; $send=$_REQUEST['send']; if ($mail==""){ $mail=""; } $form="<form method=\"post\" action=\"$php_self\"> <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\"> <tr> <td width=\"110px\">Příjmení a jméno:</td> <td><input size=\"30\" type=\"text\" name=\"jmeno\" maxlength=\"100\" value=\"$jmeno\" /><span style=\"color:red\">*</span></td> </tr> <tr> <td>Adresa:</td> <td><input size=\"30\" type=\"text\" name=\"adresa\" maxlength=\"100\" value=\"$adresa\" /></td> </tr> <tr> <td>Kategorie:</td> <td><select name=\"kategorie\" value=\"$kategorie\"> <option value=\"M\">Muž</option> <option value=\"M+\">Muž nad 40 let</option> <option value=\"Z\">Žena</option> <option value=\"Z+\">Žena nad 40 let</option> <option value=\"M+M\">Dvojice M+M</option> <option value=\"Z+M\">Dvojice Ž+M</option> <option value=\"Z+Z\">Dvojice Ž+Ž</option> </select> <span style=\"color:red\">*</span> </td> </tr> <tr> <td>Telefon (606123456):</td> <td><input size=\"30\" type=\"text\" name=\"mobil\" maxlength=\"9\" value=\"$mobil\" /><span style=\"color:red\">*</span></td> </tr> <tr> <td>E-mail:</td> <td><input size=\"30\" type=\"text\" name=\"mail\" maxlength=\"100\" value=\"$mail\" /><span style=\"color:red\">*</span></td> </tr> <tr> <td>Číslo čipu+:</td> <td><input size=\"30\" type=\"text\" name=\"cislocipu\" maxlength=\"15\" value=\"$cislocipu\" /></td> </tr> <tr> <td>Vzkaz:</td> <td><textarea name=\"vzkaz\" rows=\"4\" cols=\"35\">$vzkaz</textarea></td> </tr> <tr> <td></td> <td><input type=\"hidden\" name=\"send\" value=\"submited\" /><input type=\"submit\" value=\" Registorvat \" /></td> </tr> </table> </form>"; $jmeno_error=0; $adresa_error=0; $kategorie_error=0; $mail_error=0; $mobil_error=0; if ($send!="submited"){ echo "$form"; }else{ if ((empty($jmeno)) OR (empty($kategorie)) OR (@!strpos ($mail,"@")) OR (@!strpos ($mail,".")) OR (empty($mobil))){ echo "<span style=\"color:red;\"><strong>Prosím vyplňte všechny požadované položky.</strong></span><br />"; $jmeno_error=1; } if(preg_match('/^([0-9]+)$/', $mobil)) {echo "<span style=\"color:red;\"><strong>Prosím zadejte váš telefon.</strong></span><br />"; $mobil_error=1; } if (($jmeno_error) || ($kategorie_error) || ($mail_error) || ($mobil_error)){ echo "$form"; }else{ $zprava1="Nový závodník ============================================ Datum a čas odeslání: $datum Adresa IP: $number ------------V. Valašský orieňťák - Registrace--------- Příjmení a jméno: $jmeno Adresa: $adresa Kategorie: $kategorie E-mail: $mail Telefon: $mobil Číslo čipu SI+: $cislocipu Vzkaz: $vzkaz"; $predmet="Registrace $jmeno"; $komu="dzouzef@seznam.cz"; $od="ohlaklika@ohlaklika.com"; mail ($komu,$predmet,$zprava1,"Content-Type: text/plain; charset=utf-8\nReply-To: $od\nFrom: $od"); $zprava2="Děkujeme za registraci! Po zaplacení startovného na účet 214872525/0300 Vám bude zaslán potvrzovací e-mail."; $to="$mail"; mail ($to,$predmet,$zprava2,"Content-Type: text/plain; charset=utf-8\nReply-To: $od\nFrom: $od"); echo "<span style=\"color:green;\">Registrace byla úspěšná.</span>"; } } ?> |
||
SwimX Profil |
#2 · Zasláno: 15. 4. 2010, 19:09:05
pepi3:
buď napiš co ti nejde, nebo řekni cenu. 100řádek jen tak řešit nikdo nebude.. |
||
pepi3 Profil |
#3 · Zasláno: 15. 4. 2010, 19:10:11
prostě mi nejde odeslat
|
||
SwimX Profil |
#4 · Zasláno: 15. 4. 2010, 19:10:59
pepi3:
kde to zkoušíš? |
||
pepi3 Profil |
#5 · Zasláno: 15. 4. 2010, 19:14:31
SwimX
Tu |
||
SpotRudloff Profil * |
#6 · Zasláno: 15. 4. 2010, 19:18:29
A ve formuláři místo odeslání nastavit z $php_self třeba na zpracovani_formulare.php?
|
||
Davex Profil |
#7 · Zasláno: 15. 4. 2010, 19:19:40
A kde nastavuješ proměnnou $send?
|
||
pepi3 Profil |
#8 · Zasláno: 15. 4. 2010, 19:35:54
jo to bylo tím $send. dík, ale eště bych potřeboval poradit že vlastně když tam něco nevyplním tak to se stejně odešle aj když to je nevyplněné a ještě že vlastně třeba ragistrace byla potvrzena se mi zobrazí na další stránce a potřeboval bych to pod tím, nebo jako script....(aktualizoval jsem kod nahoře)
|
||
SpotRudloff Profil * |
#9 · Zasláno: 15. 4. 2010, 20:04:55
<?php if(!IsSet($jmeno) OR !IsSet($adresa)){ //pokračuj v porměnných, které musí výt vyplněny dle návodu... die("Nelze odeslat, jelikož nejsou vyplněny všechny údaje!"); } ?> |
||
pepi3 Profil |
#10 · Zasláno: 15. 4. 2010, 20:24:10
to nefunguje
|
||
AM_ Profil |
#11 · Zasláno: 15. 4. 2010, 20:29:57
Jistěže to nefunguje, když to dáš na začátek je to závislé na register globals, i po opravě $jmeno a $adresa budou nastavené vždy. Správně je if(empty(...
Jinak k pro uživatele pohodlnější a přehlednější validaci můžeš použít třeba tigra form validator |
||
SpotRudloff Profil * |
#12 · Zasláno: 15. 4. 2010, 20:31:32
Předělej echo u podmínky, kterou máš při kontrole, zda je vše vyplněno na die.
|
||
pepi3 Profil |
#13 · Zasláno: 15. 4. 2010, 21:46:55
prosím ještě jednu radu...potřebuju udělat aby do kolonky telefon nešlo dát písmeno nebo, aby když to odešlu se to neodeslalo (kód navrchu zaktualizovaný)
|
||
AM_ Profil |
#14 · Zasláno: 16. 4. 2010, 00:08:07 · Upravil/a: AM_
pepi3:
použij validátor viz [#11] - zabrání odeslání formuláře, pokud některé z polí není validní. Dneska má javascript skoro každý, pokud to neoptimalizuješ např. pro mobily tak to stačí, na straně PHP pak stačí jednoduše neplatný telefon detekovat regulárem. Chvíli to chce na nastudování toho validátoru, ale za ten luxus to docela stojí. Regulár pro čísla: //edit: Majkl578 má pravdu, dík za upozornění, opraveno if (!preg_match('/^\\+?[0-9 ]+$/', $telefon)){ die('telefon muze obsahovat pouze cisla/mezery/+!'); } Pozor, přidal jsem tam schválně mezeru - spousta lidí zadává telefon s mezerou - a mezinárodní předvolba může obsahovat +. |
||
Majkl578 Profil |
#15 · Zasláno: 16. 4. 2010, 01:19:39 · Upravil/a: Majkl578
[#14] AM_:
Správně by měl být takto: if (!preg_match('~^\+?[\d ]+$~', $telefon)) { die('telefon muze obsahovat pouze cisla/mezery/+!'); } |
||
pepi3 Profil |
#16 · Zasláno: 16. 4. 2010, 14:01:05
jo už to fachá...dík moc ogárci...:)
|
||
Časová prodleva: 14 let
|
0