Eniac Da Mourfis' King | Salut,
J'ai une database PhpMyAdmin, une sorte d'annuaire, avec une 15aine de champs (nom, prénom, adresse, telephone...)
J'ai crée un formulaire pour que quelqu'un puisse s'ajouter à partir d'une page web, ou modifier ses paramètres. Dans mon formulaire, les valeurs sont renvoyées par leur nom de variable : $nom, $prenom, $adresse, $telephone...
Si une valeur est laissé vide lors du remplissage du formulaire, je reprend la valeur existante dans la database (pour éviter que la personne doive retaper tous ses paramètres si elle veut juste changer son n° de téléphone par ex)
Ensuite je teste chaque valeur, voir si elle semble correcte.
Tout fonctionne (enfin, je crois)
Mais mon code me semble vraiment lourd, je suis certain que y'a moyen de faire beaucoup plus court... mais je vois pas du tout comment...
Vous pouvez m'aiguiller ?
FAUT PAS LIRE TOUT LE CODE, C'EST TOUJOURS LA MEME CHOSE QUI REVIENT...
Code :
- //si des infos sont vides, on reprend les anciennes de la base de donnée
- $db = mysql_connect("$localhost","$login","$pswrd" ) or die ("erreur de connexion au serveur MySQL" );
- mysql_select_db("eniacopolis_db",$db) or die ("erreur de connexion à la base" );
- $ligne = mysql_fetch_object(mysql_query("SELECT * FROM classe_rheto WHERE nom='$nom'",$db));
- mysql_close() ;
- if(empty($adresse_dom)) $adresse_dom=$ligne->adresse_dom ;
- if(empty($adresse_kot)) $adresse_kot=$ligne->adresse_kot ;
- if(empty($tel_fixe_dom)) $tel_fixe_dom=$ligne->tel_fixe_dom ;
- if(empty($tel_fixe_kot)) $tel_fixe_kot=$ligne->tel_fixe_kot ;
- if(empty($gsm)) $gsm=$ligne->gsm ;
- if(empty($icq)) $icq=$ligne->icq ;
- if(empty($email)) $email=$ligne->email ;
- if(empty($an_1999)) $an_1999=$ligne->an_1999 ;
- if(empty($an_2000)) $an_2000=$ligne->an_2000 ;
- if(empty($an_2001)) $an_2001=$ligne->an_2001 ;
- if(empty($an_2002)) $an_2002=$ligne->an_2002 ;
- if(empty($an_2003)) $an_2003=$ligne->an_2003 ;
- //test de la validité des informations reçues
- $test=0 ;
- if(!(eregi("^[a-zA-Z0-9 ]{10,150}$",$adresse_dom)) && !empty($adresse_dom))
- { $test=1 ;
- echo '<b>Adresse du domicile non conforme.</b> L\'adresse doit comprendre 10 à 150 caractères alphanumériques exclusivement.<br>' ;
- }
- if(!(eregi("^[a-zA-Z0-9 ]{10,150}$",$adresse_kot)) && !empty($adresse_kot))
- { $test=1 ;
- echo '<b>Adresse du kot non conforme.</b> L\'adresse doit comprendre 10 à 150 caractères alphanumériques exclusivement.<br>' ;
- }
- if(!(eregi("^[0-9]{9}$",$tel_fixe_dom)) && !empty($tel_fixe_dom))
- { $test=1 ;
- echo '<b>Téléphone fixe du domicile non conforme.</b> Votre numéro doit être formé de 9 chiffres exactement.<br>' ;
- }
- if(!(eregi("^[0-9]{9}$",$tel_fixe_kot)) && !empty($tel_fixe_kot))
- { $test=1 ;
- echo '<b>Téléphone fixe du kot non conforme.</b> Votre numéro doit être formé de 9 chiffres exactement.<br>' ;
- }
- if(!(eregi("^[0-9]{10}$",$gsm)) && !empty($gsm))
- { $test=1 ;
- echo '<b>Numéro de GSM non conforme.</b> Votre numéro doit être formé de 10 chiffres exactement.<br>' ;
- }
- if(!(eregi("^[0-9]{8,10}$",$icq)) && !empty($icq))
- { $test=1 ;
- echo '<b>Numéro d\'ICQ non conforme.</b> Votre numéro doit être formé de 8 à 10 chiffres.<br>' ;
- }
- if(!ereg("@",$email) && !empty($email))
- { $test=1 ;
- echo '<b>Adresse E-Mail non conforme.</b> Veuillez entrer une adresse E-Mail valide.<br>' ;
- }
- if(!(eregi("^[a-zA-Z0-9 ]{10,128}$",$an_1999)) && !empty($an_1999))
- { $test=1 ;
- echo '<b>Cursus 1999 non conforme.</b> Le cursus doit comprendre 10 à 128 caractères alphanumériques exclusivement.<br>' ;
- }
- if(!(eregi("^[a-zA-Z0-9 ]{10,128}$",$an_2000)) && !empty($an_2000))
- { $test=1 ;
- echo '<b>Cursus 2000 non conforme.</b> Le cursus doit comprendre 10 à 128 caractères alphanumériques exclusivement.<br>' ;
- }
- if(!(eregi("^[a-zA-Z0-9 ]{10,128}$",$an_2001)) && !empty($an_2001))
- { $test=1 ;
- echo '<b>Cursus 2001 non conforme.</b> Le cursus doit comprendre 10 à 128 caractères alphanumériques exclusivement.<br>' ;
- }
- if(!(eregi("^[a-zA-Z0-9 ]{10,128}$",$an_2002)) && !empty($an_2002))
- { $test=1 ;
- echo '<b>Cursus 2002 non conforme.</b> Le cursus doit comprendre 10 à 128 caractères alphanumériques exclusivement.<br>' ;
- }
- if(!(eregi("^[a-zA-Z0-9 ]{10,128}$",$an_2003)) && !empty($an_2003))
- { $test=1 ;
- echo '<b>Cursus 2003 non conforme.</b> Le cursus doit comprendre 10 à 128 caractères alphanumériques exclusivement.<br>' ;
- }
- if($test==0)
- { //j'insère l'enregistrement dans la base
- }
- elseif($test==1)
- { //message d'erreur
- }
- break ;
|
Thanks Message édité par Eniac le 29-08-2002 à 19:43:09 ---------------
If you really want something, all the Universe conspires in helping you to achieve it.
|