[PHP] Insérer des boutons radios en plus de champs de formulaire SPIP

Insérer des boutons radios en plus de champs de formulaire SPIP [PHP] - PHP - Programmation

Marsh Posté le 02-09-2003 à 18:29:12    

* J'ai un formulaire, qui récupère un nom et une adresse mail.
* Ce formulaire implémente une valeur nom et adresse mail à une table qui s'appelle SPIP-AUTEUR. Et par la même occasion d'autres champs sont générés: login, pass, statut, htpass
* Sur cette table j'ai rajouté manuellement un champ: titre
* ce champ titre est de type ENUM et peut prendre l'une de ces 3 valeurs: 'M', 'Mme', 'Mlle' . Je ne lui ai pas mis d'attribut. Il est null (et non not null), sa valeur par défaut est 'Mme' . Pas d'auto_increment .
* Dans un premier temps je n'ai pas voulu toucher au formulaire (on verra après), mais je veux que lors d'une inscription avec ce formulaire il affecte au moins la valeur par défaut de titre, donc 'Mme' .
 
 
Maintenant je voudrais que ça apparaisse dans le formulaire, en bouton radio, soit M soit Mme, soit Mlle.
 
Comment faire?
 
la séquence concernée d'abord:

Citation :

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 = 'Mme';
   $query = "INSERT INTO spip_auteurs (nom, email, login, pass, statut, htpass, titre) ".
    "VALUES ('".addslashes($nom_inscription)."', '".addslashes($mail_inscription)."', '$login', '$mdpass', '$statut', '$htpass', '$titre')";
   $result = spip_query($query);
   ecrire_acces();


 
Ce que je suppose être le passage du formulaire
 

Citation :

// inscrire les visiteurs dans l'espace public (statut 6forum) ou prive (statut nouveau->1comite)
function formulaire_inscription($type) {
 $request_uri = $GLOBALS["REQUEST_URI"];
 global $mail_inscription;
 global $nom_inscription;


 
A titre indicatif le fichier est inc-formulaires.php3


Message édité par cablator le 02-09-2003 à 20:23:00

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

Marsh Posté le 02-09-2003 à 18:29:12   

Reply

Marsh Posté le 02-09-2003 à 18:33:55    

C'est pas un peu du HTML tout simple :heink: ?
Une balise <input> avec le type sur "radio", l'attribut "checked", la value qui va bien et hop. Côté PHP, tu récupères la valeur de ton button et roule Raoul. Non ?


Message édité par Taiche le 02-09-2003 à 18:47:36

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 02-09-2003 à 18:42:30    

Mais encore? :D
 


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

Marsh Posté le 02-09-2003 à 18:47:24    

Ba quoi ? Dans ton formulaire, tu fous un <input> avec l'attribut type positionné à radio. T'en fais 3 comme ça, tous avec le même nom. Tu mets l'attribut checked à "checked" (me suis gourré dans mon post précédent, vais l'éditer) pour celui que tu veux sélectionner par défaut.
Dans le code PHP qui récupère le formulaire, tu récupères la valeur de cet input et zou [:spamafote]
J'vais quand même pas t'écrire comment on fait une balise input ou comment on récupère une valeur passée par formulaire en PHP [:mlc]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 02-09-2003 à 19:57:52    

Franchement personne peut me donner un coup de pouce?
 
Au moins me dire avec quel genre de code je détecte où sont planqués ces p****** de champs sur la page php .
Pour que juste après j'y mette des boutons radio.
 
ca fait trop de temps que j'essaye de modifier ce putain de formulaire.


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

Marsh Posté le 02-09-2003 à 20:00:54    

Bordel :
<input name="titre" type="radio" checked="checked" value="Mme">Mme</input><br>
<input name="titre" type="radio" value="Mlle">Mlle</input><br>
<input name="titre" type="radio" value="Mr">Mr</input>
 
Dans le PHP qui récupère les valeurs du formulaire, la variable $_POST["titre"] contient la valeur sélectionnée par l'utilisateur sur la page de formulaire.
 
C'était si dur que ça ? :/


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 02-09-2003 à 20:22:02    

Bon merci.
 
Une étape vient d'être franchie, enfin prsque.
 
J'ai les boutons radios qui s'affichent, mais c'est toujours M.
Enfin je n'ai pas encore appliquée la 2è partie de ton conseil.
 
Un ptit bug à l'affichage aussi mais secondaire.
 
Et surtout dans la partie codage de dreamweaver un jaune pas beau du tout qui indique une erreur de syntaxe.
 
http://monftpperso.free.fr/jaune.png


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

Marsh Posté le 02-09-2003 à 21:01:14    

Il y a une interruption de code php
 
<?php PHP  ?>
puis
<html>   HTML   </html>
et re
<?php  PHP  ?>
 
Est-ce que le PHP peut lire une valeur récupérer dans une portion en HTML?


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

Marsh Posté le 02-09-2003 à 21:05:20    

cablator a écrit :

Il y a une interruption de code php
 
<?php PHP  ?>
puis
<html>   HTML   </html>
et re
<?php  PHP  ?>
 
Est-ce que le PHP peut lire une valeur récupérer dans une portion en HTML?

va peut être falloir reprndre les bases du php hein...
le php est interprété par le serveur, il peut intérférer sur l'html mais pas l'inverse (du moins pas directement)

Reply

Marsh Posté le 02-09-2003 à 21:07:49    

cablator a écrit :

Il y a une interruption de code php
 
<?php PHP  ?>
puis
<html>   HTML   </html>
et re
<?php  PHP  ?>
 
Est-ce que le PHP peut lire une valeur récupérer dans une portion en HTML?


 
Le php s'éxécute dans le serveur web, il ne récupère rien directement dans le code html qu'il génère une fois arrivé au niveau client.
 
C'est une évidence, mais il est bon de le rapeller parfois [:ddr555]


Message édité par schnapsmann le 02-09-2003 à 21:09:52

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 02-09-2003 à 21:07:49   

Reply

Marsh Posté le 02-09-2003 à 21:10:17    

SchnapsMann a écrit :


 
Le php s'éxécute dans le serveur web, il ne récupère rien directement dans le code html qu'il génère une fois arrivé au niveau client.
 


 
PArce que mes boutons radios s'affichent avec le code html, mais si on ne fait pas le
 
?>
<html>
 
Ca fait un superbe parse error à la Joce's mode.


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

Marsh Posté le 02-09-2003 à 21:15:12    

cablator a écrit :


 
PArce que mes boutons radios s'affichent avec le code html, mais si on ne fait pas le
 
?>
<html>
 
Ca fait un superbe parse error à la Joce's mode.


 
ngé ah ok j'ai compris  :D  
 
Tu peux combiner des trucs comme ça:

Code :
  1. ... du html en dur...
  2. <?php ...du php qui génère du html cohérent avec ce qu'il y a en dur avant... ?>
  3. ... du html en dur...
  4. <?php ...du php qui génère du html cohérent avec ce qu'il y a en dur avant... ?>
  5. ... du html en dur...


etcaetera


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
Reply

Marsh Posté le 03-09-2003 à 11:39:31    

UP.
 
Personne n'aurait la même séquence:
 
 
<input name="titre" type="radio" checked="checked" value="Mme">Mme</input><br>  
<input name="titre" type="radio" value="Mlle">Mlle</input><br>  
<input name="titre" type="radio" value="Mr">Mr</input>  
 
 
 
Mais en langage php pur. Pas html.
Car après faut envoyer tout ça dans Mysql.
 
Sinon ça c'est bieng ou c'est mal?
 

Citation :


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  "<P><B>"._T('form_pet_votre_nom')."</B><BR>";
  echo  "<INPUT TYPE=\"text\" CLASS=\"forml\" NAME=\"nom_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>";


Message édité par cablator le 03-09-2003 à 12:00:06

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

Marsh Posté le 03-09-2003 à 11:48:29    

Entre ça au dessus, et ça

Citation :

$titre = radio_titre;
   $query = "INSERT INTO spip_auteurs (nom, email, login, pass, statut, htpass, titre) ".


 
La communication ne passe pas, il ne veut rien inscrire dans la base.


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

Marsh Posté le 03-09-2014 à 11:44:52    

Merci pour toutes ces idées confirmées intelligentes. En effet, il y a plusieurs personnes qui témoignent les bienfaits de Spip. Je venais de trouver ce forum et je ne regrette pas de l'avoir consulter. En effet, je le trouve très intéressant. pret personnel

Reply

Sujets relatifs:

Leave a Replay

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