begin process at 2012 05 31 07:36:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Problèmes avec ISSET


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problèmes avec ISSET

lundi 5 janvier 2009 à 16:36:21 | Problèmes avec ISSET

patric31

Bonjour et meilleurs voeux à toutes et à tous pour 2009,

J'aimerai savoir si il est possible dans un même script de faire une saisie d'un formulaire et à la validation, insérer la fiche dans la BDD.
Pour comprendre mieux voila le script :

<html>
    <head>
        <title>I.R.P USL-SO</title>
    </head>
<body>

<center><h1>SAISIE DES HEURES</h1></center>
<br><br>

<?php
    include ('connection.inc.php');
    $cnn=connection();

if (isset($_POST['$code']))
    {
    echo "<br><br><br> j'ai deja saisie le code " . $code .  "je peux donc faire mon INSERT dans Mysql";
    $code_abscence=$_POST["code"];
    $nbre_heures = $_POST["nbre_heures"];
    $mandat = $_POST["mandat"];
    $date = $_POST["annee"] . $_POST["mois"] . $_POST["jour"];
    $sql = "INSERT INTO heures_effectuees (code_abscence,nbre_heures,mandat,date) VALUE ('$code_abscence','$nbre_heures','$mandat','$date'";
    $rs  = mysql_query($sql,$cnn);
    }
else
    {
    echo "<form name=\"formulaire\" method=\"post\" action=\"saisie_heures.php\">";
   
    echo "Code Abscence    :&nbsp;";
    $sql="SELECT * FROM code_abscence ORDER BY code";
    $rs=mysql_query($sql,$cnn);
    echo "<select name=\"code\">";
    while ($ligne=mysql_fetch_array($rs,MYSQL_ASSOC))
        { $code=$ligne['code'];
        $theme_suivi=$ligne['theme_suivi'];
        echo "<option>" . $code . "&nbsp;&nbsp;&nbsp;" . $theme_suivi;
        }
    echo "</select><br><br>";
   
    echo "Nombre d'heures    :";
    echo "<select name=\"nbre_heures\">";
        for ($heure=0;$heure<1000;$heure++)
            {$ligne = "<option>";
            echo $ligne . $heure;}
        echo "</select><br><br>";
   
    echo "Mandat concerné    :";
    $sql="SELECT * FROM mandat_agent ORDER BY agent_mandat";
    $rs=mysql_query($sql,$cnn);
    echo "<select name=\"mandat\">";
    while ($ligne=mysql_fetch_array($rs,MYSQL_ASSOC))
        { $agent_mandat=$ligne['agent_mandat'];
        echo "<option>" . $agent_mandat ;
        }
    echo "</select><br><br>";
   
    echo "Date du détachement :";
    echo "<select name=\jour\">";
    for ($jour=01;$jour<32;$jour++)
        { echo "<option>" . $jour;}
    echo "</select>&nbsp;&nbsp;&nbsp;";
   
    echo "<select name=\"mois\">";
    for ($mois=01;$mois<13;$mois++)
        { echo "<option>" . $mois ; }
    echo "</select>&nbsp;&nbsp;&nbsp;";
   
    echo "<select name=\"annee\">";
        echo "<option>2008    <option>2009    <option>2010";
    echo "</select>";
    echo "<br><br>";
   
    echo "<br><br> <input  value=\"Valider\" type=\"SUBMIT\" > <input  value=\"Effacer\" type=\"RESET\"  > </form>";
    }
?>
</body>
</html>

Si cela n'est pas possible alors je referai comme avant avec 2 scripts.
Merci.
Patrick
lundi 5 janvier 2009 à 17:17:34 | Re : Problèmes avec ISSET

Teclis01

Réponse acceptée !
Alors oui c'est possible tu n'es pas loin mais c'est très illisible...
Je te conseille :
1/Virer les echo"code html";
2/de corriger certainement une incohérence entre $code et $_POST["$code"] car il ne sera jamais "setté" quand tu fais : if (isset($_POST['$code']))

Pour le vérifier tu as juste à faire un
var_dump($_POST['$code']);

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

lundi 5 janvier 2009 à 17:26:36 | Re : Problèmes avec ISSET

patric31

Réponse acceptée !
Merci, je fais le test demain et te tiens au courant.

pour les codes HTML dans le PHP, c'était pour rester dans le PHP et dans les { du IF/ELSE, au départ je les avais mis à part.
Dans la mouture définitive je remettrais le HTML en dehors du PHP.
A demain
Patrick
PS: L' IGNORANCE est de ne pas poser la question.
mardi 6 janvier 2009 à 08:40:38 | Re : Problèmes avec ISSET

patric31

Réponse acceptée !

Bonjour,

1/J'ai viré le max de ECHO  que je pouvais, le reste doit rester dans le IF (enfin je pense)
2/Je n'ai pas très bien compris l'incohérence, et encore moins le VAR_DUMP($_POST['$code']), que j'ai mis en lieu et place du ISSET, et erreur, PHP ne connaisant pas la variable, je te mets le nouveau code.
Sache que j'ai pris $CODE parceque c'était la première variable, mais je peux en prendre une autre si ça doit mieux faire.

<html>
 <head>
  <title>I.R.P USL-SO</title>
 </head>
<body>

<center><h1>SAISIE DES HEURES</h1></center>
<br><br>
<form name="formulaire" method="post" action="saisie_heures.php">

<?php
 include ('connection.inc.php');
 $cnn=connection();

if (var_dump($_POST['$code']))
 {
 $code_abscence=$_POST["code"];
 $nbre_heures = $_POST["nbre_heures"];
 $mandat = $_POST["mandat"];
 $date = $_POST["annee"] . $_POST["mois"] . $_POST["jour"];
 $sql = "INSERT INTO heures_effectuees (code_abscence,nbre_heures,mandat,date) VALUE ('$code_abscence','$nbre_heures','$mandat','$date'";
 $rs  = mysql_query($sql,$cnn);
 }
else
 {
 echo "Code Abscence :&nbsp;";
 $sql="SELECT * FROM code_abscence ORDER BY code";
 $rs=mysql_query($sql,$cnn);
 echo "<select name=\"code\">";
 while ($ligne=mysql_fetch_array($rs,MYSQL_ASSOC))
  { $code=$ligne['code'];
  $theme_suivi=$ligne['theme_suivi'];
  echo "<option>" . $code . "&nbsp;&nbsp;&nbsp;" . $theme_suivi;
  }
 echo "</select><br><br>";
 
 echo "Nombre d'heures :";
 echo "<select name=\"nbre_heures\">";
  for ($heure=0;$heure<1000;$heure++)
   {$ligne = "<option>";
   echo $ligne . $heure;}
  echo "</select><br><br>";
 
 echo "Mandat concerné :";
 $sql="SELECT * FROM mandat_agent ORDER BY agent_mandat";
 $rs=mysql_query($sql,$cnn);
 echo "<select name=\"mandat\">";
 while ($ligne=mysql_fetch_array($rs,MYSQL_ASSOC))
  { $agent_mandat=$ligne['agent_mandat'];
  echo "<option>" . $agent_mandat ;
  }
 echo "</select><br><br>";
 
 echo "Date du détachement :";
 echo "<select name=\jour\">";
 for ($jour=01;$jour<32;$jour++)
  { echo "<option>" . $jour;}
 echo "</select>&nbsp;&nbsp;&nbsp;";
 
 echo "<select name=\"mois\">";
 for ($mois=01;$mois<13;$mois++)
  { echo "<option>" . $mois ; }
 echo "</select>&nbsp;&nbsp;&nbsp;";
 
 echo "<select name=\"annee\">";
  echo "<option>2008 <option>2009 <option>2010";
 echo "</select>";
 }
?>
<br><br> 
<br><br>
<input  value="Valider" type="SUBMIT">
<input  value="Effacer" type="RESET" >
</form> 
</body>
</html>

Merci pour tout.

mardi 6 janvier 2009 à 16:55:34 | Re : Problèmes avec ISSET

Teclis01

Réponse acceptée !
c'etait fait exprès :) c'etait pour te montrer que tu testais toujours une variable qui n'existait pas ^_^ d'ou l'incohérence :)
Reste encore pas mal d'echo mais c plus lisible déjà :)

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

mardi 6 janvier 2009 à 18:23:56 | Re : Problèmes avec ISSET

patric31

Réponse acceptée !
Ok j'ai compris :))), une incohérence est le fait de travailler sur quelque chose qui n'existe pas. leçon 1, rangée dans le cerveau.
Mais alors, quelle variable puis-je prendre ? ou faut-il que j'en crée une ?
Quant aux ECHO si j'en supprime plus je sors de ma boucle IF, mais ça fera partie d'une prochain exercice.

Je te remercie beaucoup pour ta gentillesse
Patrick
mardi 6 janvier 2009 à 21:37:02 | Re : Problèmes avec ISSET

Teclis01

Réponse acceptée !
un incohérence c'est un process qui suit des règles qui ne sont pas correctes. (c'est la définition rapide ^^)

Pour les echo je vais te montrer sur une portion de code...(par la même occasion j'indente ton code)
else
{
    ?>
    Code Abscence :&nbsp;
    <?php
   
    $sql="SELECT * FROM code_abscence ORDER BY code";
    $rs=mysql_query($sql,$cnn);
   
    ?>
    <select name="code">
    <?php
    while ($ligne=mysql_fetch_array($rs,MYSQL_ASSOC))
    {
        $code=$ligne['code'];
        $theme_suivi=$ligne['theme_suivi'];
         ?>
        <option>
        <?php
        echo $code;
        ?>
        &nbsp;&nbsp;&nbsp;
        <?php
        echo $theme_suivi;
      }
...

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

 Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

mardi 6 janvier 2009 à 21:37:52 | Re : Problèmes avec ISSET

Teclis01

Réponse acceptée !
Au passage il manque le </option>
Et c'est normal que ton tag <option> n'est aucun attribut value? tu le post jamais ?

Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro

mercredi 7 janvier 2009 à 09:03:19 | Re : Problèmes avec ISSET

patric31

Réponse acceptée !
Oups! ! !pour le  </option>, un gros ZAP ! ! !
J'ai repris toute ma page et voila le résultat :

<html>
    <head>
        <title>I.R.P USL-SO</title>
    </head>
<body>
<center><h1>SAISIE DES HEURES</h1></center>
<br><br>
<form name="formulaire" method="post" action="saisie_heures.php">
<?php
include ('connection.inc.php');
$cnn=connection();

if (ISSET($_POST['$code']))
    {
        $code_abscence=$_POST["code"];
        $nbre_heures = $_POST["nbre_heures"];
        $mandat = $_POST["mandat"];
        $date = $_POST["annee"] . $_POST["mois"] . $_POST["jour"];
        $sql = "INSERT INTO heures_effectuees (code_abscence,nbre_heures,mandat,date) VALUE ('$code_abscence','$nbre_heures','$mandat','$date'";
        $rs  = mysql_query($sql,$cnn);
    }
else
    {
        ?>
        Code Abscence    :&nbsp;
        <?php
        $sql="SELECT * FROM code_abscence ORDER BY code";
        $rs=mysql_query($sql,$cnn);
        ?>
        <select name="code">
        <?php
        while ($ligne=mysql_fetch_array($rs,MYSQL_ASSOC))
            {
                $code=$ligne['code'];
                $theme_suivi=$ligne['theme_suivi'];
                ?>
                <option>
                <?php
                echo $code;
                ?>
                &nbsp;&nbsp;&nbsp;
                <?php
                echo $theme_suivi;
            }   
        ?>
        </option></select><br><br>
   
        Nombre d'heures    :&nbsp;
        <select name="nbre_heures">
        <?php
        for ($heure=1;$heure<1000;$heure++)
            {
                $ligne = "<option>";
                echo $ligne . $heure;
            }
        ?>
        </option></select><br><br>
        Mandat concerné    :&nbsp;
        <?php
        $sql="SELECT * FROM mandat_agent ORDER BY agent_mandat";
        $rs=mysql_query($sql,$cnn);
        ?>
        <select name="mandat">
        <?php
        while ($ligne=mysql_fetch_array($rs,MYSQL_ASSOC))
        {
            $agent_mandat=$ligne['agent_mandat'];
            ?>
            <option>
            <?php
            echo $agent_mandat ;
        }
        ?>
        </option></select><br><br>
   
        Date du détachement :&nbsp;
        <select name="jour">
        <option>01<option>02<option>03<option>04<option>05<option>06<option>07<option>08<option>09<option>10<option>11<option>12<option>13<option>14<option>15<option>16<option>17<option>18<option>19<option>20<option>21<option>22<option>23<option>24<option>25<option>26<option>27<option>28<option>29<option>30<option>31</option>
        </select>&nbsp;&nbsp;&nbsp;
   
        <select name="mois">
        <option>01<option>02<option>03<option>04<option>05<option>06<option>07<option>08<option>09<option>10<option>11<option>12</option>
        </select>&nbsp;&nbsp;&nbsp;
   
        <select name="annee">
        <option>2008<option>2009<option>2010</option>
        </select>
        <?php
    }
?>
<br><br>   
<br><br>
<input  value="Valider" type="SUBMIT">
<input  value="Effacer" type="RESET" >
</form>   
</body>
</html>
 
Pour les jours et les mois, c'est vrai je ne me suis pas trop embêter j'essaie d'aller au plus simple et de me consacrer à la programmation pure de PHP pour l'instant.
J'espère que ton "élève" a bien compris la leçon, je ne savais pas qu'on pouvais mettre du PHP et l'enlever au milieu d'une boucle IF ou FOR.
Il reste mon problème d'ISSET, si j'ai bien tout lu FREUD . . . et compris mon tout petit cours de PHP au boulot, une fois la page affichée les variables n'existent plus, mais si on ré-affiche avec le FORM la même page, quelles variables garde-t-il ?
Merci
mercredi 7 janvier 2009 à 10:57:39 | Re : Problèmes avec ISSET

patric31

Réponse acceptée !
YESSSSSSSSSSSSSSSSSSSSSSSS ! ! ! !

ça y est ça fonctionne,  youpiiiiiiii
il fallait tester avec ISSET la variable CODE et non $CODE, comme quoi . . . en se creusant la cervelle  . . .

Je te remercie pour ta patience et ton esprit pédagogue.
La dernière fois que j'ai fait de la programmation, c'était il y a quelques années (plusieurs dizaines . . .) c'était sous CLIPPER (compilateur dbase 3), juste après le fameux HEBDOGICIEL.
Voila le décors planté. Tu vois un peu mieux à qui tu as à faire. Mais je suis tétu, j'apprends assez vite (enfin je crois).

J'aurais certainement d'autres problèmes, que je mettrais dans le forum, et j'espère que tu auras un peu de temps pour moi.
Passe une bonne journée, et à très bientôt.
Patrick

1 2 3

Cette discussion est classée dans : code, mysql, echo, nbsp, mandat


Répondre à ce message

Sujets en rapport avec ce message

Besoin d'aide pr afficher dernière valeur d'1 enregistrement [ par chardene_amour_de_freddy ] Bonjour à tous ! J'explique mon pb, je souhaiterais récupérer la valeur du dernier enregistrement d'une requete. En fait j'ai un formulaire dans leque Besoin d'aide poru faire une simple recherche [ par chardene_amour_de_freddy ] Bonjour à tous !Merci par avance à toutes âmes charitables qui se ponchera sur mon sujet !En fait je souhaiterais faire une recherche dans le module q changement dynamique liste déroulante [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  &n liste deroulante dynamique [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  < Es ce que mon code est propre [ par sense ] Je code un formulaire pour faire un trie dans ma requete, mais ce que j'ai fais fonctionne mais je pense que j'en fais trop :/ quelqu'un peu me consei pb de passage de paramètres [ par sandro38000 ] Bonjour à tous et a toutes,je débute à programmer en php et j'ai rencontrer un problème lors du passage de paramètre d'une page à une autre.Je m'expli probleme avec un tableaux (ou est l'erreur??) [ par h2h ] salut tout le monde, jai un probleme avec ce tableaux.. en fait ce tableaux affiche bien ce ke je veu mai le prob cest kil décale tout d'une ligne ce indentification et connexion grâce à un formulaire [ par auremy ] Bonjour,J'ai crée un formulaire html qui permet à l'utilisateur de saisir son login et son mot de passe. La validation envoye ses informations à une p Warning: 0 is not a MySQL result index [ par Tatouine ] Bonjour, j'ai un probleme avec un de mes scripts ... don le code est : $per = array ("printemps", "ete", "hiver"); $i=0; while($i { echo "&l probleme affichage image [ par zizou94 ] Bonjour à tousVoivi mon deuxieme souci du jour.J'ai un code ou il y a du javascript et du php mélanger. Ce code permet l affichage de l image au passa


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,732 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales