PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 06-02-2011 22:23:52

zad34
Membre
Inscription : 04-02-2011
Messages : 14

< form action= PARAMETRE method = 'POST' > une approche douloureuse !

Bonsoir à tous,
Principe : je fais tourner une page, en passant par des contrôles, pour remplir un questionnaire. Mon idée est de pouvoir aller ailleurs en fonction des circonstances, donc de paramétrer  le nom du lien.
En (ici) en bon débutant j'ai anticipé et testé :
  [code =php]
       $page = 'page1.php ' ;
           print ("< form action= $page  method = 'POST' > ") ; // ça marche du 1ere coup, rendez-vous à la page1 !
[/code]
Passage au concret avec un sélecteur type switch (c'est pareil avec des if)
[code =php]
switch( $_POST['bouton'] {
case 'ENREGISTRER' :
$page = 'page1.php' ;
case 'CONFIRMER' :
$page = 'page2.php ' ;
  ...... }

          print ("< form action= $page  method = 'POST' > ") ;  // ça ne marche pas du tout !!!!! et l'adresse appelée est fantaisiste (pour moi !)
[/code]

C'est un autre pb :
    404 not found... + -->  The requested URL /zenphoto_donnees/z_donnees_page_invites/method was not found on this server.
et pour finir une adresse applée inexplicable (pour moi !)
    http://na....ge_invites/method?=XXXX&nom=&prenom=&email=&choix2=Qui&bouton=ENREGISTRER.
J'ai testé ce que donne $_POST : il est clair :  ENREGISTRER que l'on aperçoit au bout de l'adresse ! Le reste de l'adresse est composée des noms des champs du formulaire (j'ai pensé à un tableau dans le $_POST) mais XXXX c'est une donnée de ma BDD !!!
Là je touche le fond et votre analyse est le bien venue . Merci d'avance.

Hors ligne

#2 06-02-2011 22:57:57

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Salut,
tu as oublié le break wink
a++

Hors ligne

#3 06-02-2011 23:37:00

zad34
Membre
Inscription : 04-02-2011
Messages : 14

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Merci pour la réponse très rapide !
mais rien de changé (au passage c'est la 2eme fois que je switch et ,sans le break, il marchait , vivons innocent !)
Je fais un copier/coller pour ne rien louper


  switch($_POST['bouton']) {
    case 'ENREGISTRER' :
      $page_web = 'ajout_invite.php' ;
        break ;  
  ........
    case 'RETOUR_accueil' :
      $page_web = "index_page_invites.php" ;}
      break;
          //  $page_web = 'ajout_invite.php' ; //seul ça marche, pas avec case ?
  print ("<form action= $page_web method = 'POST'>") ;  

 

Même message : The requested URL /zenphoto_donnees/z_donnees_page_invites/method was not found on this server.
Pourquoi ça parle method en $_POST   ?
Pourquoi tout ce bruit dans l'URL appelée : http://na....enphoto_donnees/z_donnees_page_invites/method?=ABADIE&nom=&prenom=&email=&choix2=Qui&bouton=ENREGISTRER ?
et au bout ENREGISTRER que case devrait traiter pour aller à la page --> ajout_invite.php qui est la page de départ ?
Bilan 1ere erreur corrigée , il reste un trafic d'adresse !
Merci à Pierrot.

Hors ligne

#4 06-02-2011 23:56:02

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

met ton script complet stp.
a+

Hors ligne

#5 07-02-2011 00:14:00

zad34
Membre
Inscription : 04-02-2011
Messages : 14

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Je n'hésite pas une seconde ! mais tu vas me maudire ... Il appelle d'autres script (à ta disposition...)
Rien de secret (encore) sur le site : nadiemma.fr (nous,4nadi)
merci et j'espère que tu trouveras ?

<?php
  include('validation.inc_Nad.php') ;
  include('session_mysql.inc_Nad.php') ;
  GLOBAL $liaison ;  // global pour pouvoir ouvrir et fermer la base ds ds fonctions differentes

function SFsituation()
{ if(!array_key_exists('bouton',$_POST ) ) {   // premier passage, édition du premier formulaire
  return "ouverture" ;}
  else {
    if ($_POST['bouton'] == "ENREGISTRER" or $_POST['bouton'] == "RECOMMENCER")       // passage pour enregistrer un nouvel invité
    {return 'traitement _ajout' ; }

    switch($_POST['choix']) {
      case 'ajout' :
        return "ajout" ;
          break ;
      case 'retrait' :
        return "retrait" ;
          break ;
      case 'actif' :
        return "actif" ;
          break ;
      case 'inactif' :
        return "inactif" ;
        break ;
      }
    }

  }
function SF1extr_nom_inv_mysql($table,$invite,$prenom,$cause)   // "cause1" ouverture : :extraction des invités --"cause2" extration des invités de nom $nom
  {GLOBAL $liaison ;
    SSFouverture_mysql() ;
    $invite = mysql_real_escape_string($invite,$liaison); // correction PHPdébutant pas besoin pour table, y a des notions de varcar de la base
    $prenom = mysql_real_escape_string($prenom,$liaison);
    if ($cause == "cause1" ) { // extration complete
      $query = "SELECT concat(nom,' __ ',prenom,' * actif = ',actif,' * invité par : ',inviteur,'  Email = ',email) FROM $table ORDER BY nom ";  //  marche
      }
    if ($cause == "cause2" ) {     // extration filtrée
      if ($prenom == "") {$prenom = "%" ;} // pour ne pas bloquer la recherche
      $query = "SELECT concat(nom,' __ ',prenom,' * actif = ',actif,' * invité par : ',inviteur,'  Email = ',email) FROM $table WHERE nom = '$invite' ORDER BY prenom" ;
      }
    $result =mysql_query($query) or die ("Erreur :Pas de récupération d'invité à l' ".$invite) ;
    mysql_close($liaison) ;
    return $result;
  }
function SF1trace_formulaire($result)       //  cas ouverture : extrait les invités et trace le formulaire
  { print('<CENTER><P><TABLE BORDER=2 BGCOLOR="#CCFFFF" WIDTH="30%" HEIGHT=65><TR><TD WIDTH=154><P>') ;
    print( 'LISTE des invités de la base' .'</h2><i>'.'(tenir compte de Actif )'.'</i>') ;
    $cde= '</select>' ;  // valeur de fermeture de $cdeOption -ligne du menu déroulant
    $cdeOption = "" ;
    print ("<form action = $_SERVER[PHP_SELF] method = 'POST'>") ;   //renvoi la même page
      echo"<select name'= 'choix_invite'>" ; // crée un menu déroulant pour présenter les invités qui sont dans $result
      while ($item = mysql_fetch_array($result, MYSQL_NUM))   // extrait item par item les valeurs déja concaténées par SQL
        {
        $cdeOption .= " <option value= $item[0]>- $item[0]</option>\n";
        }
        if ($cdeOption == "") die("Erreur : extraction vide !");
        $cdeOption .= $cde ;
    echo $cdeOption ; //le menu est constitue depuis <select name= .... les lignes et fin /select>
                      // création des boutons d'options -entrer un invité nouveau,
                      //rendre actif ou inactif, supprimer un inviter de la liste
  print('<TD><TR></TABLE><P>') ;
  print("<br/><br/>") ;
  print('<B>Faites votre choix de gestion</B>') ;
  print('<P><TABLE BORDER=2 BGCOLOR="#CCFFFF" WIDTH="30%" HEIGHT=65><TR><TD WIDTH=154><P>') ;
  print('<INPUT TYPE=radio NAME=choix VALUE="ajout" checked>Ajouter un invité <P>') ;
  print('<INPUT TYPE=radio NAME=choix VALUE=retrait>Retirer un invité</TD><TD WIDTH=154><P>') ;
  print('<INPUT TYPE=radio NAME=choix VALUE=actif>Invité Actif<P>') ;
  print('<INPUT TYPE=radio NAME=choix VALUE=inactif>Inactif</TD></TR></TABLE><P>') ;
    print( "<i> A l'ajout d'un invité, celui-ci est par défaut ACTIF </i><br><br> ") ;
    print( "<i> La selection de RETIRER, ACTIF ou INACTIF implique de selectionner l'invité concerné !</i><br><br><br> ") ;
    print('<INPUT TYPE=submit NAME="bouton" VALUE="ENVOYER">    ') ;
    print('</CENTER></form>') ;
  }
function SF2trace_formulaire($result,$message,$value_bouton)    // formulaire pour enregistrement d'un nouvel invité
  {
    $nom = $_POST['nom'] ;$prenom = $_POST['prenom'] ;$email = $_POST['email'];
  if( $_POST['choix2'] == "")
   {$choix2= "Qui ?";}
  else
  {$choix2= $_POST['choix2']; }
  print('<CENTER><P><TABLE BORDER=2 BGCOLOR="#CCFFFF" WIDTH="30%" HEIGHT=65><TR><TD WIDTH=154><P>') ;
    print( 'LISTE des invités de la base' .'</h2><i>'.'(tenir compte de Actif )'.'</i>') ;
    $cde= '</select>' ;  // valeur de fermeture de $cdeOption -ligne du menu déroulant
    $cdeOption = "" ;

      // choix de la page de destination
  if ($_POST['bouton']== 'ENREGISTRER') {
    $page_web = 'ajout_invite.php' ;
  }
  if ($_POST['bouton']== 'CONFIRMER') {
    $page_web = 'ajout_invite.php' ;
  }

  switch($_POST['bouton']) {
    case 'ENREGISTRER' :
      $page_web = 'ajout_invite.php' ;
        break ;
    case 'CONFIRMER' :
      $page_web = 'ajout_invite.php' ;
        break ;
    case 'RECOMMENCER' :
      $page_web = 'ajout_invite.php' ;
        break ;
    case 'RETOUR_Gestion' :
      $page_web = 'index_page_invites.php' ;
        break ;
    case 'RETOUR_accueil' :
      $page_web = "index_page_invites.php" ;
    break;}
          //  $page_web = 'ajout_invite.php' ; //seul ça marche, pas avec case ?
  print ("<form action= $page_web method = 'POST'>") ;   //renvoi la même page   = $_SERVER[PHP_SELF]
      echo"<select name'= 'choix_invite'>" ; // crée un menu déroulant pour présenter les invités qui sont dans $result
      while ($item = mysql_fetch_array($result, MYSQL_NUM))   // extrait item par item les valeurs déja concaténées par SQL
        {
        $cdeOption .= " <option value= $item[0]>- $item[0]</option>\n";
        }
        if ($cdeOption == "") die("Erreur : extraction vide !");
        $cdeOption .= $cde ;  //ajoute </select> pourquoi en variable ?
    echo $cdeOption ; //le menu est constitue depuis <select name= .... les lignes et fin /select >
  print('<TD><TR></TABLE><P>') ;
  print('<br><br><br>') ;
  print('<CENTER><TABLE BORDER=2  BGCOLOR="#CCFFFF" WIDTH="35%" HEIGHT=65><TR><TD COLSPAN=2 WIDTH=154>') ;
  print("<h2>ENREGISTREMENT D'UN NOUVEL INVITE</h2><br>") ;
  print("<p>.$message.</p>" ) ;
  print("  &nbsp<i>...un nouvel invité est ACTIF par défault !</i></TR>") ;  //  &nbsp cree des espaces pour présente centré
  print("<TR><TD>* Nom</TD><TD><INPUT type=text name='nom' value= $nom >") ;
  print("</TD></TR><TR><TD>* Prénom</TD><TD><INPUT type=text name='prenom' value= $prenom></TD></TR>") ;
  print("<TR><TD>* Email</TD><TD><INPUT type=text size=45 name='email' value= $email></TD></TR>") ;
  print('<TR><TD>* Inviteur</TD><TD>') ;
  print('<SELECT name=choix2> ') ;
    print("<OPTION VALUE=$choix2>$choix2</OPTION>") ;
    print("<OPTION VALUE=TOUS>Tous</OPTION>") ;
    print("<OPTION VALUE=NATHALIE>Nathalie</OPTION>") ;
    print("<OPTION VALUE=DIDIER>Didier</OPTION>") ;
    print("<OPTION VALUE=EMMANUEL>Emmanuel</OPTION>") ;
    print("<OPTION VALUE=MARIE_HELENE>Marie Hélène</OPTION>") ;
    print('</SELECT></TD></TR><TR>') ;
    print('</TR><TR>') ;  //print('</TR><TR><TD COLSPAN=2>') ;
  print("<TD><INPUT type='submit' name='bouton' value=$value_bouton /></TD>") ;
  print("<TD></TD>") ;    //<INPUT type='submit' name='bouton' value='RETOUR_Gestion' />
  print('</TR></FORM></TABLE></CENTER>') ;

  }
function Fverif_ajout() // verif du nom, prenom et email (validité , unicité
  {
  $nom = $_POST['nom'] ;$prenom = $_POST['prenom'] ;$email = $_POST['email'] ;$text = "";
  if ($nom == "" or $prenom == "")
    {$text  = "Compléter le formulaire" ;}
  else {
    $nom = pluspropre($nom) ;
    $prenom = pluspropre($prenom) ;
      if ($nom == "" or $prenom == ""){$text  = " PB entrées !" ; }
      else
        {$text1 = ValideID($nom);
        $text2 = $text.ValideID($prenom);
        if( $text1<> "" or $text2 <> "") {$text = $text." Nom ou Prenom trop court" ; }
        }
    }
  if ($text == "")  {
      $result = ValideEMail($email) ;    //
        if ($result) {
          $result = session_unicite($nom,$prenom,$email) ;  //
          $text = $result ;
        }
      }

  return $text ;
  }
function session_unicite($Nom,$Prenom,$email) // recherche si le nom est deja ds la base, si oui extrait ("cause1")pour affichage
  { global $liaison ;
    SSFouverture_mysql() ;
    $query = "SELECT id FROM `nadiemmapivot`.`membre` WHERE (`nom` LIKE '$Nom' )" ;  // prenom supprimé pour simplfier
    $result = mysql_query($query) OR die("La requète pour récupèrer les données a échouée1") ;
    if (!mysql_num_rows($result) ==0)   // il y a le même nom donc pas unique
      {return 'OK' ; }  // il y a deja ce nom dans la base
  mysql_close($liaison) ;
  }
function principale() {
  $nom = 'nom' ;$prenom = 'prenom' ;$actif = 'pass_md5' ;$table = 'membre';$invite="" ;$cas = "";
  $cas = SFsituation() ;
    if ($cas == "ouverture" ) {
      $cause = "cause1" ;
      $result ="";
      $result = SF1extr_nom_inv_mysql($table,$invite,$prenom,$cause);
      SF1trace_formulaire($result) ;
      }
    else if($cas == "ajout") {
      $cause = "cause1" ;
      $result = SF1extr_nom_inv_mysql($table,$invite,$prenom,$cause) ;
      $value_bouton = "ENREGISTRER" ;
      SF2trace_formulaire($result,$message,$value_bouton) ;
      }
    else if($cas == "retrait") {

      echo "retrait" ;
      }
    else if($cas == "actif") {

      echo "actif" ;
      }
    else if($cas == "inactif") {

      echo "inactif" ;
      }
    else if($cas == "traitement _ajout") {
      $text = Fverif_ajout() ;
      If ($text == 'OK' ) {       // cas du nom déja ds la base
        $message = "<b> Ce nom figure dans la base, vérifier le prenom !</b>" ;  // ça marche
        $cause = "cause2" ;     // ça marche
        $invite= $_POST['nom'];  // ça marche
        $prenom = $_POST['prenom'];
        $result = SF1extr_nom_inv_mysql($table,$invite,$prenom,$cause) ;  //extraction des nons identiques
        $value_bouton = "CONFIRMER" ;
        SF2trace_formulaire($result,$message,$value_bouton) ;
        }
      else {                     // cas des autres messages d'horreur !
        $cause = "cause1" ;
        $message = $text;
        $result = SF1extr_nom_inv_mysql($table,$invite,$prenom,$cause) ;
        $value_bouton = "RECOMMENCER";
        SF2trace_formulaire($result,$message,$value_bouton) ;
        }
      echo $text ;
    }
  }

principale()

?>
 

Hors ligne

#6 07-02-2011 00:53:20

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Désolé, je démissionne sad
Bon courage.
a++

Hors ligne

#7 07-02-2011 01:11:59

zad34
Membre
Inscription : 04-02-2011
Messages : 14

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Merci quand même !
Pas une piste ? Cette histoire de method, d'adresse avec ? un peu du GET où j'y connais rien et alors que je suis en POST ,
La logique du pg te semble désastreuse, Peux-tu en 2 mots me conseiller !
A+ et bonne nuit

Hors ligne

#8 07-02-2011 01:33:09

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

la logique, s'il y en a une, je ne l'ai pas saisie.

une piste ???
des dizaines de pistes :

echo"<select name'= 'choix_invite'>"    <------ une simple cote de trop mais les double cote devrai être de rigueurs     
$cdeOption .= " <option value= $item[0]>- $item[0]</option>\n";         <------- les tableaux ne sont pas parser, il faut les mettres entre {}

pas de constance, des doubles cotes, des simples cotes, certaines fonctions font 20 ou 30 ligne alors que 2 ou 3 suffiraient

un conseil ??????

repart d'un feuilles blanche et regardes les choses plus simplement.

a++

Hors ligne

#9 07-02-2011 10:50:15

zad34
Membre
Inscription : 04-02-2011
Messages : 14

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Bonjour et merci Pierrot (le couche tard !)
Je veux aller dans ton sens (page blanche) mais pour éviter de retomber...j'ai besoin de comprendre quelques points. N'oublie pas que je ne suis pas dans la cour des grands (euphémisme). Je reprends tes remarques
Logique : j'ai lu que pour traiter un formulaire il vaut mieux rester sur la même page. A partir de ça je construis un programme qui au final devrait ressembler à un squelette avec les fonctions déportées et classées dans des scripts 'include'. Au stade ou j'en suis j'ai "glissé " dans mon script les fonctions que je dois suivre. quant à mon 2eme swicht  il ne doit pas rester dans une fonction de tracé


<?php
// 1 les includes
  include('par_type_de_traitement.php') ;
// 2 les variables
   GLOBAL $liaison ;
// 3 l'aiguillage principal en fonction des traitements
function SFsituation()
{ if(!array_key_exists('bouton',$_GET ) ) {   // premier passage, édition du premier formulaire
  return "ouverture" ;}
// 4 les fonctions d'affichages
function SF1trace_formulaire($result)       //  cas ouverture : extrait les invités et trace le formulaire
  { print('<CENTER><P><TABLE BORDER=2 BGCOLOR="#CCFFFF" WIDTH="30%" HEIGHT=65><TR><TD WIDTH=154><P>') ;
          .....           }

// 5 le "programme"
function principale() {
  $nom = 'nom' ;$prenom = 'prenom' ;$actif = 'pass_md5' ;$table = 'membre';$invite="" ;$cas = "";
  $cas = SFsituation() ;
    if ($cas == "ouverture" ) {....}
// 6 la manivelle !
principale()
?>
 

Pour moi ça me paraissait logique et ...réutilisable (les "include", juste un changement de nom et un coup de ballet) et quand ça marche je ne peux que l'améliorer

Sur les cotes : j'émerge ! Ton post sur le paramétrage de la requête mysql y est pour quelque chose... Sinon en dehors des subtilités (qui par définition le resterons encore un certain temps) je m'aligne (mais pas le copier/coller ! ) sur  : simple cote : rien à voir circuler; double cote : j'ai des variables à traiter.
Longueur des fonctions : je suis pour le beau code; j'ai "encore" besoin de beaucoup détailler. (au passage je teste PHPedit qui, bien que lui ayant paramétré le langage PHP, "m'oblige" à déclarer mes variables avant utilisation. Ça rallonge aussi ...)
Je m'excuse de te monopoliser sur mon éducation mais pour profiter de ton expérience...
Je reviens au technique sur trois points:
1 -j'ai corrigé le 'cote' en trop --> ça n'a pas changer le problème;
2- Je croyais que du point de vu fonctionnel POST et GET étaient identiques. J'ai permuté pour voir et ...je ne quitte plus le 1ere affichage !
3 - je ne sais pas appliquer ta remarque :$cdeOption .= " <option value= $item[0]>- $item[0]</option>\n";         <------- les tableaux ne sont pas parser, il faut les mettres entre {}
Tu vois le niveau mais je persévère...
Merci encore A+

Hors ligne

#10 07-02-2011 11:50:16

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Salut,
Très bonne résolution wink
J'ai très peu de temps aujourd'hui mais l'effort que tu veux faire m'oblige )

1er exemple :
ta fonction


<?php
function SFsituation()
{ if(!array_key_exists('bouton',$_POST ) ) {   // premier passage, édition du premier formulaire
  return "ouverture" ;}
  else {
    if ($_POST['bouton'] == "ENREGISTRER" or $_POST['bouton'] == "RECOMMENCER")       // passage pour enregistrer un nouvel invité
    {return 'traitement _ajout' ; }

    switch($_POST['choix']) {
      case 'ajout' :
        return "ajout" ;
          break ;
      case 'retrait' :
        return "retrait" ;
          break ;
      case 'actif' :
        return "actif" ;
          break ;
      case 'inactif' :
        return "inactif" ;
        break ;
      }
    }

  }
?>
 

devient


<?php
function SFsituation(){
     $tmp = (isset($_POST['bouton'])) ? $_POST['choix'] : 'ouverture';
     return ($tmp == 'ENREGISTRER' || $tmp == 'RECOMMENCER') ? 'traitement _ajout' : $tmp;
 }
?>
 

je l'ai décomposée, mais c'est faisable en 1 ligne wink


médites et je reviens demain wink

Edit : j'ai changer $_POST['bouton'] par $_POST['choix']

a++

Hors ligne

#11 07-02-2011 12:00:25

zad34
Membre
Inscription : 04-02-2011
Messages : 14

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

wahaaaa !!
merci, ça arrive juste à point, j'avais une page blanche  qui commençait par function SFsituation(){if....
Je me lance dans la méditation transcendantale
A+

Hors ligne

#12 07-02-2011 12:05:18

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

si tu ne comprends pas, surtout prévient wink
a++

Hors ligne

#13 07-02-2011 12:19:52

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

me suis tromper

j'ai changer $_POST['bouton'] par $_POST['choix']


a++

Hors ligne

#14 07-02-2011 12:21:09

zad34
Membre
Inscription : 04-02-2011
Messages : 14

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Merci beaucoup et ce sera surement nécessaire  !
A+

Hors ligne

#15 07-02-2011 12:23:39

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

ne t'inquietes pas, c'est tres simple wink

a++

Hors ligne

#16 08-02-2011 20:22:29

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Salut,
Bon, si la 1ere lecon est assimilée, il faut passer a la 2ieme wink
explique moi exactement ce que tu veux, et nous le ferrons ensemble.

a++

Hors ligne

#17 09-02-2011 02:51:40

zad34
Membre
Inscription : 04-02-2011
Messages : 14

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Bonsoir (regarde l'heure!),
J'ai vraiment tout remis à plat, et donc considérablement simplifié mon programme, surtout en le découpant. J'évacue ainsi les difficultés 'bloquantes" d'aiguillage et de redirections qui foirent. Je n'irai pas jusqu' à dire que ma vitesse de croisière est satisfaisante ...
Ceci étant le wahaaa! suggéré par ta formule magique n'était pas simulé ! Elle reste encore mystérieuse et je te ferai volontiers signe pour avoir quelques explications...
Si tu pouvais me donner quelques infos pour traiter ta remarque ( :$cdeOption .= " <option value= $item[0]>- $item[0]</option>\n";         <------- les tableaux ne sont pas parser, il faut les mettres entre {} ) car cette ligne traîne toujours dans mon code ....
Merci de bien vouloir penser à moi et à +

Hors ligne

#18 09-02-2011 09:09:36

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Saluton,

zad34 a écrit :

Si tu pouvais me donner quelques infos pour traiter ta remarque ( :$cdeOption .= " <option value= $item[0]>- $item[0]</option>\n";         <------- les tableaux ne sont pas parser, il faut les mettres entre {} ) car cette ligne traîne toujours dans mon code ....

$cdeOption .= " <option value= '{$item[0]}'>- {$item[0]}</option>\n";

Tout simplement.
Ou plus simple pour les débutant utiliser la fonction sprintf().


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#19 10-02-2011 16:27:07

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Je crois qu'il s'en sort pas le pti Zad hmm
a++

Hors ligne

#20 10-02-2011 23:46:28

zad34
Membre
Inscription : 04-02-2011
Messages : 14

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

... pas de provok? je rame c'est sûr...
Non j'ai avancé, surtout en supprimant les cotés "bordeliques" (simple ou double cotes ?). Lorsqu'on y voit plus clair c'est déja plus facile de se retrouver.
J'ai une pose programmée et je m'y remets la semaine prochaine.

A+

Hors ligne

#21 13-02-2011 10:53:55

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : < form action= PARAMETRE method = 'POST' > une approche douloureuse !

Bonjour,

Alors j'ai pris le temps de lire le post initial par curiosité, du coup désolé j'ai pas lu la suite entre mon post et le post initial^^, mais c'est l'horreur hein. il y a au moins une erreur par ligne et je suis gentil, comment veux-tu que ton navigateur interprète correctement le code html que ton interpréteur php lui demande d'afficher?
1) je connais pas ton doctype, mais commence par mettre toutes tes balises et leurs attributs en minuscule pour être compatible avec tous les doctypes.
2) Tous les attributs de balises doivent être entre guillemets (simple ou double selon le contexte) et ce, même quand il y a une variable a interpréter au milieu.
3)

zad34 a écrit :

<TD WIDTH=154>

l'horreur! qui de plus ne sera pas pris en compte. La bonne syntaxe est

<td style="width:154px">

etc...
mets tout au propre et regarde ce que ça donne

Bonne continuation.

Dernière modification par Jc (13-02-2011 10:56:03)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums