Un avis sur un script...ca me parait trop efficace

Un avis sur un script...ca me parait trop efficace - PHP - Programmation

Marsh Posté le 25-08-2003 à 12:06:30    

Salut !
Que pensez vous de la technique utiliser ci dessous ?
Ca m'a l'air super génial...mais bon, je prefere demander au pro avant de me rejouir.
C'est pour recuperer les données d'un form et les mettre dans la BD.
http://www.phpdebutant.org/article129.php
 
Moi je comptais faire 2 fichiers,un pour la maj, et un pour l'inscription , celui de l'inscription ressemble a ca en résumé:"
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$req="INSERT INTO membre (nom,prenom) VALUES ($nom,$prenom)";
mysql_query($req,$connexion);
 
"
 
et si j'ai 50 champs c super super long comme requete... ca donne quelque chose du genre :
INSERT INTO membre (nom,prenom,deodorant,voiture,adresse,ville,departement,pays,age,enfant,travail,statut) VALUES ($nom,$prenom,$deodorant,$voiture,$ect!...)
Et la ca se résume a rien :
INSERT INTO $table ($listChamps) VALUES ($listVal)
en utilisant while(list($cle,$val) = each($HTTP_POST_VARS)){//traitement de chaine de caractere}
 
Vous utiliser la technique qu'il ya dans le liens ou plutot quelque chose qui ressemble a la mienne ? Autre chose ?
 
Merci d'avance.


Message édité par smilm le 25-08-2003 à 14:24:34

---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-08-2003 à 12:06:30   

Reply

Marsh Posté le 25-08-2003 à 12:19:43    

jveux simplement certain, tu voulais te servir de fichier au lieu de base de données?


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 25-08-2003 à 13:14:12    

non aucun rapport, regarde le lien
 
J'ai pas été clair du tout apparament ? non ?


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-08-2003 à 14:49:28    

bon toujours pas de réponse mais je continue a regarder ce script et j'y vois une erreur, ya les requete qui sont dans une boucle !
 

Code :
  1. while(list($cle,$val) = each($HTTP_POST_VARS)){           
  2.        //Ajout du champ actuel dans la requête à exécuter   
  3.   if(!ereg("^tmp_",$cle)){ 
  4.            if($id){ 
  5.                    $listChampsVal .= ",$cle=\"$val\""; 
  6.            }else
  7.                    $listChamps .= ",$cle"; 
  8.                    $listVal .= ",\"$val\""; 
  9.            } 
  10.   } 
  11. //D'aprés moi elle devrait finir ici la boucle...non ?
  12.            
  13.         if($id){ 
  14.                  $listChampsVal = ereg_replace("^,","",$listChampsVal); 
  15.         }else
  16.                   $listChamps = ereg_replace("^,","",$listChamps); 
  17.                   $listVal = ereg_replace("^,","",$listVal); 
  18.         } 
  19.              
  20.            //Execution de la requête (on doit être connecté à la base de donnée)   
  21.          if($id){ 
  22.                  $requete = "UPDATE $table SET $listChampsVal WHERE id=\"$id\""; 
  23.          }else
  24.                  $requete = "INSERT INTO $table ($listChamps) VALUES ($listVal)"; 
  25.          } 
  26.    mysql_query($requete) or die('erreur : '.mysql_error()); 
  27. //FIN DE LA BOUCLE WHILE


---------------
AfterEnd: Batissez un nouveau monde
Reply

Marsh Posté le 25-08-2003 à 16:09:51    

moi je veux bien que tu m'explique ta 2eme methode, parce que justement, je fais un truc et j'ai un requete ouf, et c'est lourd...
surtout qu'avant, je supprime tous les espaces trim() et je vire aussi les balises html strip_tags() et ce pour chaques variables de mon formulaire  :pfff:  
 
si tu as un moyen de regrouper toutes les variables dans une autre ça serait top  :??:

Reply

Marsh Posté le 25-08-2003 à 16:11:37    

$HTTP_POST_VARS c'est un tableau, global ou un truc comme ca, renseigne toi, mais je débute, comme toi apparament.

Reply

Marsh Posté le 25-08-2003 à 18:32:35    

ca marche merci de pas m'avoir répondu comme ca j'ai trouvé tout seul lol

Reply

Marsh Posté le 25-08-2003 à 20:23:37    

SmilM a écrit :

ca marche merci de pas m'avoir répondu comme ca j'ai trouvé tout seul lol


ca marche mais c'est très peu utilisé puisque ca ne permet aucun contrôle réel et vérif sur les champs avant insertion dans la base ...:/
 
chaque champs ne contenant pas le meme type de données .. difficile d'etablir un modèle de traitement qui s'applique à tous  ;)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 25-08-2003 à 20:55:15    

simogeo a écrit :


ca marche mais c'est très peu utilisé puisque ca ne permet aucun contrôle réel et vérif sur les champs avant insertion dans la base ...:/
 
chaque champs ne contenant pas le meme type de données .. difficile d'etablir un modèle de traitement qui s'applique à tous  ;)  


 
quelque part, ton msg me rassure, c cool ;)

Reply

Marsh Posté le 26-08-2003 à 23:21:51    

alors faut se taper "manuellement" une requete super longue obligatoirement si on veut pouvoir effectué des tests précisement ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed