Help j'arrive pas à implémenter une base Mysql avec PHP

Help j'arrive pas à implémenter une base Mysql avec PHP - PHP - Programmation

Marsh Posté le 03-09-2003 à 15:36:48    

J'ai un formulaire qui demande le nom et le mail.
J'ai rajouté un champ prénom et un champ titre (M, Mme ou Mlle)
 
Laissons le traitement Mysql du titre de côté pour le moment, je n'arrive pas à affecter une valeur au champ prénom de la table spip_auteurs . J'ai bien entendu ajouté 2 champs en fin de table: titre de type ENUM et prenom de type texte.
 
Voici la séquence qui est censée implémenter la base

Citation :


  // envoyer identifiants par mail
  if ($continue) {
   include_ecrire("inc_acces.php3" );
   $pass = creer_pass_aleatoire(8, $mail_inscription);
   $login = test_login($mail_inscription);
   $mdpass = md5($pass);
   $htpass = generer_htpass($pass);
   // $titre = $radio_titre;
   // $prenom = $prenom_inscription;
   $query = "INSERT INTO spip_auteurs (nom, email, login, pass, statut, htpass, prenom) ".
    "VALUES ('".addslashes($nom_inscription)."', '".addslashes($mail_inscription)."', '$login', '$mdpass', '$statut', '$htpass', '".addslashes($prenom_inscription)."')";
   $result = spip_query($query);


 
 
Voici la séquence du formulaire

Citation :

else {
  echo _T('form_forum_indiquer_nom_email');
  $link = $GLOBALS['clean_link'];
  echo $link->getForm('GET');
 
   echo  "<INPUT TYPE=\"radio\" NAME=\"radio_titre\" VALUE=\"M\" >";  
   echo  "<P><B> M</B><BR>";
   echo  "<INPUT TYPE=\"radio\" NAME=\"radio_titre\" VALUE=\"Mme\" >";  
   echo  "<P><B> Mme</B><BR>";
   echo  "<INPUT TYPE=\"radio\" NAME=\"radio_titre\" VALUE=\"Mlle\" >";  
   echo  "<P><B> Mlle</B><BR>";
   
   
  // echo "<input type="radio" value="0" name="Titre"> M</input>;
   
  // echo "<input type="radio" value="1" name="Titre"> Mme</input>;
   
  // echo "<input type="radio" value="2" name="Titre"> Mlle</input>";
   
   
   
  echo  "<P><B>"._T('form_pet_votre_nom')."</B><BR>";
  echo  "<INPUT TYPE=\"text\" CLASS=\"forml\" NAME=\"nom_inscription\" VALUE=\"\" SIZE=\"30\">";
  echo  "<INPUT TYPE=\"text\" CLASS=\"forml\" NAME=\"prenom_inscription\" VALUE=\"\" SIZE=\"30\">";
  echo  "<P><B>"._T('form_pet_votre_email')."</B><BR>";
  echo  "<INPUT TYPE=\"text\" CLASS=\"forml\" NAME=\"mail_inscription\" VALUE=\"\" SIZE=\"30\">";
  echo  "<DIV ALIGN=\"right\"><INPUT TYPE=\"submit\" NAME=\"Valider\" CLASS=\"spip_bouton\" VALUE=\""._T('bouton_valider')."\">";
  echo  "</DIV></FORM>";
}


 
Noter que j'ai fait des essais avec les //


Message édité par cablator le 03-09-2003 à 15:47:40

---------------
Viva la Revolucion ©
Reply

Marsh Posté le 03-09-2003 à 15:36:48   

Reply

Marsh Posté le 03-09-2003 à 15:50:33    

Help!!!
 
Ca fait 24 h que je galère dessus...


---------------
Viva la Revolucion ©
Reply

Marsh Posté le 03-09-2003 à 15:51:43    

c normal ca :
 
include_ecrire("inc_acces.php3" ); ?????
 
et surtout ca :
 
$result = spip_query($query);  ????
 


Message édité par docwario le 03-09-2003 à 15:52:24
Reply

Marsh Posté le 03-09-2003 à 15:54:02    

DocWario a écrit :

c normal ca :
 
include_ecrire("inc_acces.php3" ); ?????
 
et surtout ca :
 
$result = spip_query($query);  ????
 
 


 
Il y a plein de fichiers imbriqués les uns dans les autres.
 
Ces 2 lignes c'est d'origine.
sinon $result c'est la tronche du mail qui arrive.
 
$result = spip_query($query);
   ecrire_acces();
 
   $nom_site_spip = lire_meta("nom_site" );
   $adresse_site = lire_meta("adresse_site" );
 
   $message = _T('form_forum_message_auto')."\n\n"._T('form_forum_bonjour')."\n\n";
   if ($type == 'forum') {
    $message .= _T('form_forum_voici1', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site));
   }
   else {
    $message .= _T('form_forum_voici2', array('nom_site_spip' => $nom_site_spip, 'adresse_site' => $adresse_site)) . "\n\n";
   }
   $message .= "- "._T('form_forum_login')." $login\n";
   $message .= "- "._T('form_forum_pass')." $pass\n\n";
 
 
Mais c'est pas le problème là.


---------------
Viva la Revolucion ©
Reply

Marsh Posté le 03-09-2003 à 16:01:43    

c peut etre une connerie, mais j ai jamais vu de fonction include_ecrire en php (bon c peut etre une de tes fonctions).
 
idem pour :
spip_query($query);  ( tu travaille bien sur une base mysql ? )
 
sinon si ton probleme c juste l affectation du champ prenom, regarde si la variable n est pas vide avant l insertion...(echo)

Reply

Marsh Posté le 03-09-2003 à 16:18:13    

DocWario a écrit :

c peut etre une connerie, mais j ai jamais vu de fonction include_ecrire en php (bon c peut etre une de tes fonctions).
 
idem pour :
spip_query($query);  ( tu travaille bien sur une base mysql ? )
 
sinon si ton probleme c juste l affectation du champ prenom, regarde si la variable n est pas vide avant l insertion...(echo)


 
include_ecrire. Alors c'est pas vraiment du php. c'est du SPIP. C'est à dire une couche de langage par dessus le PHP. N'en tient pas compte, ça marche tout ça. C'est très imbriqué dans tous les sens. Pas hyper lisible ça c'est sûr...
 
spip_query: même chose, et ça remplit bien une base Mysql.
 
Pour le champ prénom, c'est effectivement assez bizarre, car la formulaire apparaît après l'insertion dans le code. mais il y a énormément de boucle. ca serait vraiment fastidieux d'en reconstituer intégralement l'algoritme. ce que je peux dire de manière certaine, c'est que pour le champ prénom j'ai procédé comme ça:
* dans Mysql j'ai rajouté un champ exactement du même type que nom.
* dans la séquence formulaire, j'ai copié collé la ligne du nom, et j'ai rajouté 3 lettre: p r e (prenom_inscription
*dans la séquence insertion j'ai procédé pareil, en rajoutant 3 lettres, p r e  '".addslashes($prenom_inscription)."'
* Si ça marche pour le nom, alors pourquoi ça ne marcherait pas pour le prénom?


---------------
Viva la Revolucion ©
Reply

Marsh Posté le 03-09-2003 à 16:20:12    

cablator a écrit :

include_ecrire. Alors c'est pas vraiment du php. c'est du SPIP. C'est à dire une couche de langage par dessus le PHP.

:heink: [:tinostar]

Reply

Marsh Posté le 03-09-2003 à 16:30:35    


Si t'as rien d'autre de constructif à dire tu sais où est la porte. ;)


---------------
Viva la Revolucion ©
Reply

Marsh Posté le 03-09-2003 à 16:42:27    

oki
 
je suis d accord avec toi sur la construction du champs prenom, ca devrait etre bon,  
 
mais ce que je te disait plus haut, c est de verifier, que la variable $prenom_inscription ne soit po vide.
 
sinon je vois po.

Reply

Marsh Posté le 03-09-2003 à 17:22:28    

J' AI TROUVE LA SOLUTION !!!!!!!!!!
 
Je remercie docWario qui a bien voulu m'aider,
et je ne remercie pas ceux qui m'ont snobbé car peut être qu'ils ne me considéraient pas de leur caste à cause de quelques inexactitudes de termes. :sarcastic:
 
LA SOLUTION:
 
C'est un extrait de fichier de SPIP, moteur de type PhpNuke, mais en beaucoup plus puissant et complet, mais peut être plus obscur quand on fouille dans le code.
C'est extremement imbriqué de conditions, de fichiers qui se renvoient les uns vers les autres il faudrait pas loin d'une journée pour reconstituer l'arbre en entier.
 
Par contre juste après cetta annotation

Citation :

// inscrire les visiteurs dans l'espace public (statut 6forum) ou prive (statut nouveau->1comite)


 
annotation qui précède les 2 séquences que j'ai indiquées, j'ai remarqué un obscur

Citation :

global $mail_inscription;
 global $nom_inscription;


 
Il fallait rajouter un lumineux
global $prenom_inscription;
et accessoirement
global $radio_titre;
 
DocwArio m'a mis sur la voie lorsqu'il a parlé d'une valeur qui pouvait éventuellement être vide.
Encore merci  :) (enfin pas pour tout le monde).


---------------
Viva la Revolucion ©
Reply

Marsh Posté le 03-09-2003 à 17:22:28   

Reply

Marsh Posté le 03-09-2003 à 21:52:40    

cablator a écrit :

J' AI TROUVE LA SOLUTION !!!!!!!!!!
 
Je remercie docWario qui a bien voulu m'aider,
et je ne remercie pas ceux qui m'ont snobbé car peut être qu'ils ne me considéraient pas de leur caste à cause de quelques inexactitudes de termes. :sarcastic:
 
 
Encore merci  :) (enfin pas pour tout le monde).


 
Déjà, ta question est vraiment limite tu sais... On a déjà répété 1 000 000 de fois que ce forum n'est pas là pour dépanner des gas dans ton genre qui recopient des scripts faits par d'autres... Alors, je serais toi, je changerais de ton déjà...  :D  (M'enfin, tu fais comme tu veux, à toi de voir...  :whistle: )

Reply

Marsh Posté le 03-09-2003 à 22:34:15    

Hermes le Messager a écrit :


 
Déjà, ta question est vraiment limite tu sais... On a déjà répété 1 000 000 de fois que ce forum n'est pas là pour dépanner des gas dans ton genre qui recopient des scripts faits par d'autres... Alors, je serais toi, je changerais de ton déjà...  :D  (M'enfin, tu fais comme tu veux, à toi de voir...  :whistle: )

Et en passant il ne te remercie pas... :sarcastic: :o

Reply

Marsh Posté le 04-09-2003 à 10:27:12    

Hermes le Messager a écrit :


 
Déjà, ta question est vraiment limite tu sais... On a déjà répété 1 000 000 de fois que ce forum n'est pas là pour dépanner des gas dans ton genre qui recopient des scripts faits par d'autres... Alors, je serais toi, je changerais de ton déjà...  :D  (M'enfin, tu fais comme tu veux, à toi de voir...  :whistle: )


* merde (qui est mérité d'ailleurs)
* T'en a rien à fouttre que je passe 24 h sur un problème qui ne devrait pas durer aussi longtemps?
* Recopier des scripts. Mais tu es un débutant ou quoi, pour n'avoir jamais entendu parler de l'open source et de la licence GPL? Surtout quand les cripts à l'état brut ont inutilisables en tant que tels si on veut un minimum de personnalisation.
* Je débute en php, si t'es pas capable de comprendre ça, et que tu veux autoriser l'accès à ce forum qu'à des gens qui ont l'autorisation, je en te remercie pas encore. Et peut être que tu es bête au point de ne pas souvenir que toi aussi tu en es passé par là, mais il me semble utile de te le rappeler. ;)
* C'est avec des informaticiens comme toi, hautains, imbuvables, méprisant pour qui fait des petites conneries informatiques, que la ménagère de moins de 50 ans se moque pas mal des brevets logiciels, et que ce truc va passer comme une lettre à la poste. Quelque part c'est à cause de toi si tout le monde s'en fout. Pour finir tu es pédagogie zéro.  
 
* J'ajouterais un truc.
Contrairement à ce que tu crois j'ai passé beaucoup de temps sur Google, et les newsgroup. Et je n'y ai pas trouvé ma solution. par contre j'y ai constaté un truc: la personnalisation des formulaires est une demande récurente sur les newsgroup. Mais je n'y ai vu que des questions, jamais de réponse. Autrement dit, la réponse (recherchée) à ce problème n'est pas trouvable ndans un délai correct sur Google.Comme j'ai fini par résoudre ce problème après plus de 24 h :sarcastic (merci encore pour cette catégories de développeurs hautains et antipathiques qui ne daignent pas aider ceux qui ne sont pas de leur caste) , ce topic a une valeur ajoutée très intéressante pour ceux qui viendront après
.
 
C'est mon coup de gueule du matin.


Message édité par cablator le 04-09-2003 à 11:00:38

---------------
Viva la Revolucion ©
Reply

Marsh Posté le 04-09-2003 à 12:04:08    

cablator a écrit :


* merde (qui est mérité d'ailleurs)


 
Au lieu d'insulter les gens, tu ferais mieux d'essayer de comprendre ce qu'ils te disent (surtout que personne ne t'a encore insulté ici).
 

Citation :

* T'en a rien à fouttre que je passe 24 h sur un problème qui ne devrait pas durer aussi longtemps?


 
Tu as des problèmes parce que tu mets la charue avant les boeufs. Tu utilises des outils qui te dépassent. Il faut un minimum de connaissance en PHP + mysql pour pouvoir manier correctement des scripts. Ici, tout le monde se fera un plaisir de t'aider à comprendre telle ou telle fonction en PHP, ou encore t'aidera à faire tel ou tel script. Le reste n'a rien à faire ici.
 

Citation :

* Recopier des scripts. Mais tu es un débutant ou quoi, pour n'avoir jamais entendu parler de l'open source et de la licence GPL? Surtout quand les cripts à l'état brut ont inutilisables en tant que tels si on veut un minimum de personnalisation.


 
Même chose...
 

Citation :

* Je débute en php, si t'es pas capable de comprendre ça, et que tu veux autoriser l'accès à ce forum qu'à des gens qui ont l'autorisation, je en te remercie pas encore. Et peut être que tu es bête au point de ne pas souvenir que toi aussi tu en es passé par là, mais il me semble utile de te le rappeler. ;)


 
Oui, j'en suis passé par là, mais au lieu de mal prendre ce que les autres me disaient, j'ai bossé, et maintenant je fais tous mes scripts (c'est en réalité la seule soluce).
 
 

Citation :

* C'est avec des informaticiens comme toi, hautains, imbuvables, méprisant pour qui fait des petites conneries informatiques, que la ménagère de moins de 50 ans se moque pas mal des brevets logiciels, et que ce truc va passer comme une lettre à la poste. Quelque part c'est à cause de toi si tout le monde s'en fout. Pour finir tu es pédagogie zéro.


 
Arf....  
 

Citation :

* J'ajouterais un truc.
Contrairement à ce que tu crois j'ai passé beaucoup de temps sur Google, et les newsgroup. Et je n'y ai pas trouvé ma solution. par contre j'y ai constaté un truc: la personnalisation des formulaires est une demande récurente sur les newsgroup. Mais je n'y ai vu que des questions, jamais de réponse. Autrement dit, la réponse (recherchée) à ce problème n'est pas trouvable ndans un délai correct sur Google.Comme j'ai fini par résoudre ce problème après plus de 24 h :sarcastic (merci encore pour cette catégories de développeurs hautains et antipathiques qui ne daignent pas aider ceux qui ne sont pas de leur caste) , ce topic a une valeur ajoutée très intéressante pour ceux qui viendront après
.
 
C'est mon coup de gueule du matin.


 
Tu dois acquérir un niveau minimum en PHP si tu veux pouvoir utiliser sans problème des scripts et/ou les améliorer. Encore une fois, tu mets la charue avant les boeufs et au stade où tu en es, tu ne PEUX PAS TOUT SEUL faire ce que tu veux.
Ce forum n'est pas là pour résoudre les problèmes des autres, mais pour leur FAIRE TROUVER LA SOLUTION.
Le meilleur service qu'on peut te rendre est de te dire : Va sur phpdebutant.org et mange déjà les tutos qui sont très bien faits. Ensuite reviens nous voir.
Ce forum n'est pas là pour débugger ou améliorer des scripts existants, on ne cesse de le répéter et heureusement, car sinon, ce forum serait plein de messages comme le tien sur SPIP, PHPNUKE, PHPBB etc... etc...

Reply

Sujets relatifs:

Leave a Replay

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