Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Formular comanda
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Incepători
Subiectul anterior :: Subiectul următor  
Autor Mesaj
Brindusa



Data înscrierii: 29/Dec/2004
Mesaje: 5
Locație: Gura Humorului

Trimis: Lun Ian 17, 2005 2:21 pm    Titlul subiectului: Formular comanda  

Salut,

Am nevoie de o mana de ajutor.
Vreau sa fac un formular de comanda, iar datele introduse sa fie trimise prin mail.
As vrea sa-l "fortez" pe cel care face comanda sa completeze toate campurile forumularului. Mai exact, daca nu a completat un camp (numele sa zicem) sa-i apara un mesaj de avertizare de genul: "
Va rugam completati numele".

Merci.
Sus  
boo



Data înscrierii: 24/Mar/2004
Mesaje: 223
Locație: Ploiesti

Trimis: Lun Ian 17, 2005 4:38 pm    Titlul subiectului:  

Eu zic mai intai sa citesti documentatia functiei mail().
Verificarea fa-o din server pentru un mai bun control.
<? if(_POST['nume']==''){ ?> <script type="text/javascript"> alert("Nu ati completat numele"); window.location.href="index.php"; </script> <? } ?>
Sus  
arond



Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1

Trimis: Lun Ian 17, 2005 7:02 pm    Titlul subiectului:  

boo a scris: Eu zic mai intai sa citesti documentatia functiei mail().
Verificarea fa-o din server pentru un mai bun control.
<? if(_POST['nume']==''){ ?> <script type="text/javascript"> alert("Nu ati completat numele"); window.location.href="index.php"; </script> <? } ?>
E incosecvent/inconsistent ce spui tu, boo. De ce sa faci verificarea pe server dar sa il atentionezi prin Javascript ? N-are nici un sens.

Eu as face ceva de genul:

an style="color: #000000"><?php <?php function checkData(&$data, &$errors) {   if (empty($data['nume'])     $errors['nume'] = 'Va rugam introduceti numele';   /*   etc   */   return count($errors); } ?> ... <?php $errors = array(); if ($_SERVER['REQUEST_METHOD'] == 'POST') {   if (checkData($_POST, $errors) == 0)   {      /*     email, etc... cu datele din $_POST     */     echo 'S-a trimis... bla-bla';     die;   } } ?> <form> <input style="<?php echo isset($errors['nume'])?'background-color:yellow':'' ?>".../> <div><?php echo @$errors['nume']; ?></div> </form> 

Validarea se face intr-o functie, fiecare camp care e invalid generand un element in $errors cu acelasi nume ca si campul... Afisarea, dupa, cum pofteste fiecare.

Numa' bune.
Sus  
boo



Data înscrierii: 24/Mar/2004
Mesaje: 223
Locație: Ploiesti

Trimis: Lun Ian 17, 2005 8:10 pm    Titlul subiectului:  

Arond, dupa cum vezi eu verificarea o fac din server insa Brindusa voia sa ii apara un mesaj de avertizare, ceea ce fac cu javascript.
Sus  
arond



Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1

Trimis: Lun Ian 17, 2005 10:05 pm    Titlul subiectului:  

Asta e clar.

Ideea e de consistenta: daca tot faci verificarile pe server, atunci il "alertezi" ca datele sunt necurate prin HTML si nu mai ai nici o treaba cu Javsacript...

Daca vrei totusi Javascript, atunci fa verificarile tot prin Javascript ca e mai eficient (scutesti de un drum la server iar dependenta de functionarea Javascript in browser oricum exista deja). In plus, dincolo de dependenta de Javascript, tot mai ai o problema: trebuie sa intorci browserului posibilele erori care nu tin de corectitudinea datelor (a cazut serverul de mail, etc)... si atunci vei avea 2 mecanisme distincte de raportare a erorilor.

Got my point ?

Numa' bune.
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Incepători
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community