Erreur de codage mais ou ?

lol c'est gentil comme meme

[b]Ajout du 13-01-2009 à 22:00[/b]:

bonjour,
Voila ce que j'est fai mai ca ne marche pa:

page avec le formulaire:
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ceci est une page (x)HTML de test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
</head>
<body>
<form method="post" action="2.html">
Nom : <input type="text" name="nom"><br>
<input type="submit" name="submit" value="Insérer">
</form>
</body>
</html>
[/code]

page de transmition au mysq:
[code]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ceci est une page (x)HTML de test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
</head>
<body>
<h1>coucou</h1>
<?php
$nom = $_POST['nom'];
$connect = mysql_connect('comanche','warrock-team','motdepasse') or die ("erreur de connexion");
mysql_select_db('tests',$connect) or die ("erreur de connexion base");
mysql_query("INSERT INTO clement VALUES ('','$nom')");
mysql_close();
echo "$nom";
?>
</body>
</html>
[/code]

qesqu'il ne va pas ?
Configuration: Windows XP
Firefox 3.0.5

21 réponses

  • Votes
  • Date
  • Date décroissante
  1. cela va te servir à recuperer la valeur qui est contenue dans le champ portant le name X ou Y
    exemple concret avec ton code

    <input type="radio" name="Retail Voulue" value="Famas">Retail Famas<br>
    <input type="radio" name="Retail Voulue" value="Psg">Retail Psg<br>
    <input type="radio" name="Retail Voulue" value="M249">Retail M249<br>
    <input type="radio" name="Retail Voulue" value="M134">Retail M134<br><br>
    
    
    
    <input type="checkbox" name="level" value="-10">Inférieur à 10<br>
    <input type="checkbox" name="level" value="-20">Inférieur à 20<br>
    <input type="checkbox" name="level" value="-40">Inférieur à 40<br>
    <input type="checkbox" name="level" value="-80">Inférieur à 80<br><br>
    
    <input type="radio" name="retail possédée" value="oui">oui<br>
    <input type="radio" name="retail possédée" value="non">non<br><br>
    
    Votre Identifiant: <textarea name="identifiant" cols="15" rows="1"></textarea><br>
    Votre Mot De Passe: <textarea name="mot de passe" cols="15" rows="1"></textarea><br><br>


    tu recuperera sur ta page 2 les variable post :

    $var1=$_POST['Retail'] qui prendra la valeur de la checbox cochée

    $var2=$_POST['level] qui prendra la valeur de la checbox cochée

    $var3=$_POST['identifiaznt'] qui prendra la valeur du contenu de la textarea
    $var4=$_POST[mot_de_passe'] qui prendra la valeur du contenu de la textarea

    pour les 2 derniers utilise de preference des <input type=text"> pour l'identifiant et <input type="password"> pour le mot de passe
    1. Salut.
      Ton formulaire appelle lapage 2;html, qui est une page php a priori.
      Pour un code plus propre, nomme tes pages en .php (en tout cas celle qui en ont).
      Et aussi: dans ta page de traitement, tu récupère ton $_POST['nom'] trop brutalement. Prévois le cas ou cette variable n'est pas définie.
      if(isSet($_POST['nom'])){
      //cas normal=> continue ton traitement
      }else{
      //un petit message d'erreur
      }
      1. bon voila ce que jais fait:
        Page du formulaire:
        [code]<html>

        <head>
        <title>Retails Gratuites (M249/M134/FAMAS/PSG)</title>
        </head>

        <body style="background-color:#000000;"></body>

        <body>

        <h1><sup><strong><u><font face="times new roman, times, serif" color="#ff0000"><div align="center"><font size="+3">Obtenir une retail warrock gratuite? Rien de plus simple.</font></div></font></strong></u></sup></h1>

        <p align="left"><h2><strong<fieldset><u><font face="times new roman, times, serif" color="#0000ff"><font size="5">Voici la liste des toutes les indications dont vous aurez besoin:</font></font></strong></u> <br>

        <ul><h3>
        <font face="times new roman, times, serif" color="#ffffff"><font size="4"><li>Nous n'accepterons <u>pas</u> les demandes des levels inférieurs au <u>level 20</u>.
        (Ceci pour une seule raison, nous n'allons pas fournir une infinité de retail à qui veut créer un nouveau compte).</li>
        <li>Nous vous rappelons qu'<u>une seule</u> retail par compte est possible. Si vous choisissez d'en prendre une ici, la votre sera automatiquement supprimée.</li>
        <li>Nous ne disposons que de 4 types de retails: Famas, Psg, M249, M134.</li>
        <li>Nous vous souhaitons un bon amusement avec vos futures retails!</li></font></font>
        </h3></ul>

        <p align="left"><h2><strong><u><font face="times new roman, times, serif" color="#0000ff"><font size="5">Il ne vous reste plus qu'à remplir ce qui suit.</font></font></strong></u> <br>

        <font size="3"><font face="times new roman, times, serif" color="#ffffff"><form name="quest" method="post" action="2.html" enctype="text/plain">

        <i><strong><font color="#ff0000">Quel type de retail souhaitez-vous?</font></i></strong> <br>

        <input type="radio" name="Retail Voulue" value="Famas">Retail Famas<br>
        <input type="radio" name="Retail Voulue" value="Psg">Retail Psg<br>
        <input type="radio" name="Retail Voulue" value="M249">Retail M249<br>
        <input type="radio" name="Retail Voulue" value="M134">Retail M134<br><br>

        <i><strong><font color="#ff0000">Quel est votre level?</font></i></strong><br>

        <input type="checkbox" name="level" value="-10">Inférieur à 10<br>
        <input type="checkbox" name="level" value="-20">Inférieur à 20<br>
        <input type="checkbox" name="level" value="-40">Inférieur à 40<br>
        <input type="checkbox" name="level" value="-80">Inférieur à 80<br><br>

        <i><strong><font color="#ff0000">Possédez-vous déjà une retail?</font></i></strong><br>

        <input type="radio" name="retail possédée" value="oui">oui<br>
        <input type="radio" name="retail possédée" value="non">non<br><br>

        Votre Identifiant: <textarea name="identifiant" cols="15" rows="1"></textarea><br>
        Votre Mot De Passe: <textarea name="mot de passe" cols="15" rows="1"></textarea><br><br>

        <input type="submit" value="Valider">
        <input type="reset" value="Effacer">
        </form></font> </font>

        </p>
        </body>

        </html>
        /code

        Page de la redirection ver dbb:
        [code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
        <title>Ceci est une page (x)HTML de test</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
        </head>
        <body>
        <h1>coucou</h1>
        <?php
        $nom = $_POST['nom'];
        $connect = mysql_connect(require (/inc/config.php);
        mysql_select_db('tests',$connect) or die ("erreur de connexion base");
        mysql_query("INSERT INTO clement (id,identifiant) VALUES('',$nom);

        mysql_close();
        echo "$nom";
        ?>
        </body>
        </html> /code

        Page de config.php:
        [code]$connect = mysql_connect('localhost','warrock-team','xxx') or die ("erreur de connexion");
        mysql_select_db('tests',$connect) or die ("erreur de connexion base"); /code

        Pk ca marche pa ? (tel est la question)
        1. bonsoir pense tout d'abord à utiliser les balises de codes pour que ce soit plus clair à lire pour nous .. ;-)

          ça ne risque pas de marcher car il me semble que tu n'a aucun input name="nom" donc ta variable $_POST['nom'] est tout le temps vide
          1. ok;
            le code ce n'est pas moi qui lé fai tu peu mexpliquer a qoi sa sert input name=nom et qesqil fo mettre dedan ?
            1. et pour VALUES('',$nom); c pareil ? mais je mai qoi la ci c le cas ?
              et tu pourai me marqer le code modifier ?
              1. j'ai pas compris la ..?

                pour value soit c'est l'internaute qui rentre une valeur exemple son identifiant dans ce cas tu met input type="text" value=""

                ou ca peut etre une valeur recupére d'une requete precedente dans ce cas tu met input type="text" value="<?PHP echo $var; ?>" (ou une valeur recupérée en javascript par exemple)
                1. Ya juste ca en page.
                  Esque tu pourai modifier le code

                  sinon c bon la ?

                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                  <head>
                  <title>Ceci est une page (x)HTML de test</title>
                  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                  <link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
                  </head>
                  <body>
                  <h1>coucou</h1>
                  <?php
                  $var1=$_POST['Retail Voulue'];
                  $var2=$_POST['level'];
                  $var3=$_POST['retail possédée'];
                  $var4=$_POST['identifiant'];
                  $var5=$_POST['mot de passe'];
                  $connect = mysql_connect(require (/inc/config.php);
                  mysql_select_db('tests',$connect) or die ("erreur de connexion base");
                  mysql_query("INSERT INTO clement (id,identifiant) VALUES('',$nom);

                  mysql_close();
                  echo "$nom";
                  ?>
                  </body>
                  </html>
                  1. modifier ??? y'a pas qu'a modifier mais deja tu remplace

                    Votre Identifiant: <textarea name="identifiant" cols="15" rows="1"></textarea><br>
                    Votre Mot De Passe: <textarea name="mot de passe" cols="15" rows="1"></textarea><br><br>
                     par 
                    Votre Identifiant: <input type="text" name="identifiant" value="" ><br>
                    Votre Mot De Passe: <input type="password" name=""mot_depasse" ><br><br>
                    
                    et dans ta page 2
                    $nom = $_POST['identifiant'];
                    $connect = mysql_connect(require (/inc/config.php);
                    mysql_select_db('tests',$connect) or die ("erreur de connexion base");
                    mysql_query("INSERT INTO clement (id,identifiant) VALUES('','".$nom."' );
                    
                    
                    mysql_close();
                    echo "$nom"; 
                    

                    et la tu devrais recuperer l'identifiant
                    1. tu fait
                      $var1=$_POST['name_du_1er_champ']
                      $var2=$_POST['name_du_2_eme_champ']
                      etc ....
                      1. donc la le code est bon ?

                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                        <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
                        <head>
                        <title>Ceci est une page (x)HTML de test</title>
                        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                        <link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
                        </head>
                        <body>
                        <h1>coucou</h1>
                        <?php
                        $var1=$_POST['Retail Voulue'];
                        $var2=$_POST['level'];
                        $var3=$_POST['retail possédée'];
                        $var4=$_POST['text'];
                        $var5=$_POST['password'];
                        $connect = mysql_connect(require (/inc/config.php);
                        mysql_select_db('tests',$connect) or die ("erreur de connexion base");
                        mysql_query("INSERT INTO clement (id,identifiant) VALUES('',$nom);

                        mysql_close();
                        echo "$nom";
                        ?>
                        </body>
                        </html>

                        tu pourai test les script voir si il marche ? (avec ta dbb) parceque moi ca marche pa
                        1. oui et non
                          1) tu veut inserer $nom alors qu'elle n'est pas definie
                          je suppose que c'est celle la $var4=$_POST['text'];
                          donc remplace $var4 par $nom

                          2) evite d'utiliser des accents dans tes variables (posséssédée ecrit plutot possede) , c'est de la prog pas une dictée ... lol !

                          3) idem evite les espace Retail Voulue ecris plutot Retail_Voulue
                          sinon si tes names de la page d'origine ont bien le meme nom et la meme orthographe que ce que tuu a marqué dans tes valeurs post c'est a priori correct
                          1. tu doit avoir un probleme ici
                            mysql_select_db('tests',$connect) or die ("erreur de connexion base"); verifie tes identifiants le nom de ta table ,l'orthographe est tres importante la table test n'est pas pareil que tests ou Test , sinon pour les champs ca a l'air d'etre bon, sauf que pour l'identifiant tu a laissé comme name text, j'espere que tu fait ca dans ta page 2
                            $nom=$_POST['text'];
                            1. ok ca a l'air d'avoir marcher :

                              -- Contenu de la table `clement`
                              --

                              INSERT INTO `clement` (`id`, `retail`, `level`, `retail_o_n`, `identifiant`, `mdp`) VALUES
                              (1, '', 0, 0, '', '');

                              sa me donne sa... et si je veut regarder donner du formulaire que les gens on rempli je fait comen ?
                              1. bonsoir
                                il faut simplement faire une requete sur une page php et une boucle
                                $req="select * from ta-table "; // la tu peut mettre une condition where.. quelquechose
                                $res=mysql_query($req);
                                while($res)
                                {
                                //tant qu'il ya des resultats on l'affiche

                                echo $res['ton-1er_champ'].'<br/>';
                                echo $res['ton-2em_champ'].'<br/>';
                                echo $res['ton-3em_champ'].'<br/>';
                                etc...
                                }
                                1. hello , tu debute en php non ;-) ?
                                  pour faire simple et pas t'embrouiller pour le moment tu va faire une page uniquement reservée a l'affichage de tes données que tu va appeler affiche.php
                                  sur ta page principale tu mettra un bouton <input type="button" value="liste" onclick="window.location('affiche.php')" />
                                  ce bouton va te servir a appeler ta page d'affichage

                                  et dans affiche.php
                                  <?PHP
                                  //ici tes parametres de connexion a ta BD
                                  
                                  $select = "SELECT * FROM ta_table ORDER BY id DESC "; // la requete triée par id
                                  $req = mysql_query($select) ;
                                  // a partir de la je repasse en html pour plus de clarté pour toi
                                  ?>
                                  		  
                                            <!--//affichage des entetes de colonne-->
                                                  </p>
                                  		<table border="1" align="center">
                                         <!-- // première ligne on affiche les entetes de colonnes-->
                                         <tr>
                                  <td bgcolor="#FFCC66" align="center" width="10">id</td>
                                   <td bgcolor="#FFCC66" align="center" width="10">retail</td>
                                    <td bgcolor="#FFCC66" align="center" width="10">level</td>
                                     <td bgcolor="#FFCC66" align="center" width="10">retail_o_n</td>
                                    <td bgcolor="#FFCC66" align="center" width="10">identifiant</td>
                                    <td bgcolor="#FFCC66" align="center" width="10">mdp</td>			
                                  </tr>
                                  <tr>
                                  <?PHP
                                  // je repasse en php
                                   //On fait une boucle
                                  while($res= mysqi_fetch_array($req))
                                  
                                  { //debut de la boucle
                                  //les noms entre les [] corresponde aux noms de tes champs dans ta table
                                  $id = $res['id'];  
                                  $retail=$res['retail'];
                                  $level=$res['level'];
                                  $retail_o_n=$res['retail_o_n']; 
                                  $identifiant=$res['identifiant'];
                                  $mdp=$res['mdp'];
                                  
                                  
                                  //afichage des resultats
                                   // debut du tableau, je repasse en html
                                    
                                    ?>  
                                     
                                    <td bgcolor="#CCCCCC" align="center" width="10"> <?PHP echo $id; ?> </td>
                                    <td bgcolor="#FFFFFF" align="center" width="20"><?PHP echo $retail;  ?></td>
                                     <td bgcolor="#FFFFFF" align="center" width="20" ><?PHP echo $level; ?></td>
                                    <td bgcolor="#FFFFFF" align="center" width="20" ><?PHP echo $retail_o_n; ?></td>
                                    <td bgcolor="#FFFFFF" align="center" width="50"><?PHP echo $identifiant; ?></td>
                                     <td bgcolor="#FFFFFF" align="center"><?PHP echo $mdp; ?></td>
                                     <tr bgcolor="#FFFFFF">	
                                    <?PHP
                                        } //fin de la boucle
                                  	?>
                                  	</tr>
                                  	</table>
                                  


                                  voila comme ça ca devrais t'afficher tes resultats

                                  un conseil ne copie pas betement ce code , mais retape le il n'y a que comme ça qu'on progresse
                                  • 1
                                  • 2