IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

suite...Ma variable ne passe pas pourquoi ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut suite...Ma variable ne passe pas pourquoi ?
    Bonjour
    Je sais c'est peut être bête mais je ne trouve pas: pourquoi ma variable Nom ne passe pas dans l'autre formulaire ?
    merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
     
    <?php
    include ("../variables.inc.php"); 
    include("../haut.inc.php");
    ?> 
     
    <html> 
    <body>
    <br><a href="abs_index.php">Accueil</a><br>
    <a href="newabs2.php">Revenir à la page des modifications globales</a><br>
    1) Rechercher un élève par le nom (ou tapez les 3 premières lettres), par le numéro de l'absence ou par la classe OU cliquez sur ce bouton pour avoir TOUS les élèves<br>
    <form action="newabs2.php" method="post"><br> 
    <input type="text" onFocus="motclef.style.backgroundColor='yellow'" 
    onBlur="motclef.style.backgroundColor='white'" name="motclef1" value="<?php echo $_POST['$motclef1%']; ?>"> 
    <input type="text" onFocus="motclef.style.backgroundColor='yellow'" 
    onBlur="motclef.style.backgroundColor='white'" name="motclef2" value="<?php echo $_POST['$motclef2%']; ?>">
    <input type="submit" value="rechercher" name="submit"><br>
     
    <!-- onclick="return(confirm('Etes-vous sûr de vouloir mettre cette ABSENCE  à jour  ?'));" -->
    </form>
    <form action="add4absbis.php" method="post">
    <TD>Quel est l'adulte qui entre cette absence (initiales NomPrénom)</TD>
        <input type="text" onFocus="Qui.style.backgroundColor='yellow'"
        onBlur="Qui.style.backgroundColor='white'" name="Qui" size="2"  value="" maxlength="2" class="JSFCString_2_4"><br>
    <table border="1">
    </form> 
    <tr>
    <td width=''>NOM</td>
    <td width=''>PRENOM</td>
    </tr>
     
    <?php 
    //// début
    if($_POST['submit']=="rechercher")
    {
    $sql1= "SELECT * FROM `elevescomplete` WHERE (Nom like '".$_POST['motclef1']."%' OR `Eléve No Etab` like '".$_POST['motclef1']."%' or `Code Structure` like '".$_POST['motclef1']."' )  ORDER BY Nom ASC"; // Si motclef1 uniquement
     
    $sql2= "SELECT * FROM `elevescomplete` WHERE (Nom like '".$_POST['motclef2']."%' OR `Eléve No Etab` like '".$_POST['motclef2']."%' or `Code Structure` like '".$_POST['motclef2']."' ) ORDER BY Nom ASC"; // Si motclef uniquement
     
    $sql3= "SELECT * FROM `elevescomplete` WHERE ((Nom like '".$_POST['motclef1']."%' OR Nom like '".$_POST['motclef2']."%') 
    
    or (`Eléve No Etab` like '".$_POST['motclef1']."%' OR `Eléve No Etab` like '".$_POST['motclef2']."%')
    or (`Code Structure` like '".$_POST['motclef1']."' OR `Code Structure` like '".$_POST['motclef2']."')) ORDER BY Nom ASC"; // Si motclef1 et motclef2   
     
    // Ici on va récupérer la requete selon le cas
    	if ((isset($_POST['motclef1'])) && empty($_POST['motclef2'])) // Si motclef1 uniquement
    	{
    	$sql = mysql_query($sql1) or die('Erreur de requete '.mysql_error());
    	}
    	elseif((empty($_POST['motclef1'])) && isset($_POST['motclef2']))// Si motclef2 uniquement
    	{
    	$sql = mysql_query($sql2) or die('Erreur de requete '.mysql_error());
    	}
    	else // Si motclef1 et motclef2
    	{
    	$sql = mysql_query($sql3) or die('Erreur de requete '.mysql_error());
    	}
     
    // Traitement
    $resultat =  mysql_num_rows($sql);
     
    if($resultat>0)
       {
    		while ($eleve = mysql_fetch_array ($sql))
      		{ 
     
    //echo $total;
    $id1=$eleve['Nom'];
    $id2=$eleve['Prénom'];
    $id3=$eleve['Code Structure'];
    echo '<b>'.$eleve['id'].''; 
    echo"<tr><td><b>".$eleve['Nom']."</b></td>";
    echo"<td>".$eleve['Prénom']."</td>";
    echo"<td>".$eleve['Code Structure']."</td>";
    echo"<td><input type='checkbox' name='maj[]' value='".$eleve['Numero']."'></td>";
    echo " ";
    echo $id1 ;
        	} 	
        }                            
    }
    else
    {
    echo "Veuillez enter un ou plusieurs mots-clefs";
    } 
     
    ?> 
     
     
    </form>
    </table>
     
    <br><input type="submit" value="Valider cette ABSENCE ou RETARD" name="envoyer">
     
    </body>
    </html>
    puis dans add4absbis:
    Ma variable Qui passe etc mais pas id1 qui serait égal à $id1=$eleve['Nom'] du premier formulaire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <?php 
    	include("../haut.inc.php");
    include("../variables.inc.php");
     
    if(isset($_POST['id1']))      		$id1=$_POST['id1'];
    	else      $id1="";
    if(isset($_POST['Qui']))      		$Qui=$_POST['Qui'];
    	else      $Qui="";
    if(isset($_POST['jour']))      		$jour=$_POST['jour'];
    	else      $jour="";
    if(isset($_POST['mois']))      		$mois=$_POST['mois'];
    	else      $mois="";
    if(isset($_POST['annee']))      	$annee=$_POST['annee'];
    	else      $annee="";	
    if(isset($_POST['Heures1']))      	$Heures1=$_POST['Heures1'];
    	else      $Heures1="";
    if(isset($_POST['Heures1bis']))     $Heures1bis=$_POST['Heures1bis'];
    	else      $Heures1bis="";
     
    echo $JUST;echo '<br>';
    echo $idd1; echo '<br>';
    echo $JUSTIFICATION; echo '<br>';
    echo "";
    $nbre=$H1bis-$H1;echo '<br>';
    echo 	$nbre;
     
     
     //$QUAND1=($jour.$mois.$annee);
      $QUAND1=($annee.$mois.$jour);
      echo $Nom;	echo '//-1<br>';
      echo $id2;	echo '//0<br>';
    	echo $idmel1;	echo '//1<br>'; 
    	echo $QUAND1;	echo '//2<br>';
    	echo $Heures1;	echo '//3<br>';
    	echo $Heures1bis;echo '//4<br>';
    	echo '<br>';
    $nbre=$Heures1-$Heures1;
    //$fait1='N';
    $choix = (isset($_POST['maj']))?$_POST['maj']:null; 
      	echo "Voici les enregistrements que vous avez choisi :<br>"; 
    // bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées
    //$db = mysql_connect('db1340.1and1.fr', 'dbo235328063', 'dx9kZS3q')
    //or die('<font color=red>Désolé mais vous ne pouvez voir les infos de la data-base</font>');
    //mysql_select_db('db235328063',$db);	  
    if (!empty($choix)) { 
        foreach($choix as $cle => $valeur) { 
            //echo $cle; 
    		echo '<br>';
    		echo $valeur;	
    	$liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
    mysql_select_db ($bdd);            // sélection de la base 
    	$sql = "INSERT INTO `ges_abs` (`elenom`, `elepre`, `divcod`, `Combien`, `Qui`, `JUST1`,`JUSTIFICATION`,`ETATJUSTIFICATION`, `QUAND1`,`Heures1`, `Heures1bis`, `REMARQUES1`, `ACTION1`, `elenoet`,`RETARD`,`RQRETARD`) 
    	VALUES ('$elenom','$elepre','$divcod','$nbre','$Qui','$JUST1','$JUSTIFICATION','$ETATJUSTIFICATION','$QUAND1','$Heures1','$Heures1bis','$REMARQUES1','$ACTION1','$elenoet','$RETARD1','$RQRETARD')";
    	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    	ECHO $QUAND1;
    		  echo $sql;
    }  
     }	
     
    echo "<br><a href=abs_index.php?id=$elenoet> ABSENCE ENTREE, REVENIR A LA PAGE PRINCIPALE</a>";

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Slt,

    J'ai l'impression que tu n'as aucun input nommé id1 dans ton formulaire donc la valeur ne peut pas être transmise. Ca doit être pareil pour tes autres variables à part Qui qui est un input de type text. Ou alors tu n'as mis qu'un extrait du code de ton formulaire.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut suite
    oui en effet pas d'input, je sais
    mais alors comment faire ?
    merci

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Le plus propre c'est de mettre des inputs de type hidden. Ils n'apparaîtront pas à l'écran, mais ils transmettront des valeurs comme n'importe quel autre input "classique"
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut oui mais..
    merci
    oui comme un peu ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo"<input type="hidden" name="id1" size="20" value="<?php $eleve['Nom']=$id1; ?>">";
    mais il ne veut pas....erreur syntaxe ?

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Points : 182
    Points
    182
    Par défaut
    Il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ?>
    <input type="hidden" name="id1" size="20" value="<?php echo $eleve['Nom']=$id1; ?>">
    <?php

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut J'avance mais...
    merci et c'était tout bête mais c'est pas encore à 100 % correct...
    bref je patauge
    Merci d'aider un vieux débutant
    Voici le code modifié:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
    <?php
    include ("../variables.inc.php"); 
    include("../haut.inc.php");
    //include ("identification.inc.php");
    $liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
    mysql_select_db ($bdd);
    if (isset($_POST['motclef']))
         $motclef = $_POST['motclef']; 
         $date = date("d/m/Y");
    $heure = date("H:i");
    Print("Nous sommes le $date et il est $heure");
    $iddate=$date;
    ?> 
     
    <html> 
    <body>
    <br><a href="abs_index.php">Accueil</a><br>
    <a href="newabs2.php">Revenir à la page des modifications globales</a><br>
    1) Rechercher un élève par le nom (ou tapez les 3 premières lettres), par le numéro de l'absence ou par la classe OU cliquez sur ce bouton pour avoir TOUS les élèves<br>
    <form action="newabs2.php" method="post"><br> 
    <input type="text" onFocus="motclef.style.backgroundColor='yellow'" 
    onBlur="motclef.style.backgroundColor='white'" name="motclef1" value="<?php echo $_POST['$motclef1%']; ?>"> 
    <input type="text" onFocus="motclef.style.backgroundColor='yellow'" 
    onBlur="motclef.style.backgroundColor='white'" name="motclef2" value="<?php echo $_POST['$motclef2%']; ?>">
    <input type="submit" value="rechercher" name="submit"><br>
     
    <!-- onclick="return(confirm('Etes-vous sûr de vouloir mettre cette ABSENCE  à jour  ?'));" -->
    </form>
    <form action="add4absbis.php" method="post">
    <TD>Quel est l'adulte qui entre cette absence (initiales NomPrénom)</TD>
        <input type="text" onFocus="Qui.style.backgroundColor='yellow'"
        onBlur="Qui.style.backgroundColor='white'" name="Qui" size="2"  value="" maxlength="2" class="JSFCString_2_4"><br>
    <table border="1">
    </form> 
    <tr>
    <td width=''>NOM</td>
    <td width=''>PRENOM</td>
    </tr>
    <br><input type="submit" value="Valider cette ABSENCE ou RETARD" name="envoyer">                           
    <?php 
    //// début
    if($_POST['submit']=="rechercher")
    {
    $sql1= "SELECT * FROM `elevescomplete` WHERE (Nom like '".$_POST['motclef1']."%' OR `Eléve No Etab` like '".$_POST['motclef1']."%' or `Code Structure` like '".$_POST['motclef1']."' )  ORDER BY Nom ASC"; // Si motclef1 uniquement
     
    $sql2= "SELECT * FROM `elevescomplete` WHERE (Nom like '".$_POST['motclef2']."%' OR `Eléve No Etab` like '".$_POST['motclef2']."%' or `Code Structure` like '".$_POST['motclef2']."' ) ORDER BY Nom ASC"; // Si motclef uniquement
     
    $sql3= "SELECT * FROM `elevescomplete` WHERE ((Nom like '".$_POST['motclef1']."%' OR Nom like '".$_POST['motclef2']."%') 
    
    or (`Eléve No Etab` like '".$_POST['motclef1']."%' OR `Eléve No Etab` like '".$_POST['motclef2']."%')
    or (`Code Structure` like '".$_POST['motclef1']."' OR `Code Structure` like '".$_POST['motclef2']."')) ORDER BY Nom ASC"; // Si motclef1 et motclef2  
     
     
     
     
     
    // Ici on va récupérer la requete selon le cas
    	if ((isset($_POST['motclef1'])) && empty($_POST['motclef2'])) // Si motclef1 uniquement
    	{
    	$sql = mysql_query($sql1) or die('Erreur de requete '.mysql_error());
    	}
    	elseif((empty($_POST['motclef1'])) && isset($_POST['motclef2']))// Si motclef2 uniquement
    	{
    	$sql = mysql_query($sql2) or die('Erreur de requete '.mysql_error());
    	}
    	else // Si motclef1 et motclef2
    	{
    	$sql = mysql_query($sql3) or die('Erreur de requete '.mysql_error());
    	}
     
    // Traitement
    $resultat =  mysql_num_rows($sql);
    //echo $sql; 
    //echo $sql1;
    //echo $sql2;
    if($resultat>0)
       {
    		while ($eleve = mysql_fetch_array ($sql))
      		{ 
     
    //echo $total;
     
    echo '<b>'.$eleve['id'].''; 
    echo"<tr><td><b>".$eleve['Nom']."</b></td>";
    echo"<td>".$eleve['Prénom']."</td>";
    echo"<td>".$eleve['Code Structure']."</td>";
    echo"<td><input type='checkbox' name='maj[]' value='".$eleve['Numero']."'></td>";
    echo " ";
    $id1=$eleve['Nom'];
    $id2=$eleve['Prénom'];
    $id3=$eleve['Code Structure'];
    ?>
    <input type="text" name="id1" size="20" value="<?php echo $id1; ?>"> 
     
    <?php
     
     
        	} 	
        }                            
    }
    else
    {
    echo "Veuillez entrer un ou plusieurs mots-clefs";
    } 
     
    ?> 
     
    </form>
    </table>
     
    </body>
    </html>
    J'ai laissé TEXT au lieu d'idden pour voir ma variable ok elle est présente mais elle ne passe toujours pas dans la suite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    	<?php 
    	include("../haut.inc.php");
    include("../variables.inc.php");
     
    if(isset($_POST['id1']))      		$id1=$_POST['id1'];
    	else      $id1="";
    if(isset($_POST['Qui']))      		$Qui=$_POST['Qui'];
    	else      $Qui="";
    if(isset($_POST['jour']))      		$jour=$_POST['jour'];
    	else      $jour="";
    if(isset($_POST['mois']))      		$mois=$_POST['mois'];
    	else      $mois="";
    if(isset($_POST['annee']))      	$annee=$_POST['annee'];
    	else      $annee="";	
    if(isset($_POST['Heures1']))      	$Heures1=$_POST['Heures1'];
    	else      $Heures1="";
    if(isset($_POST['Heures1bis']))     $Heures1bis=$_POST['Heures1bis'];
    	else      $Heures1bis="";
     
    echo $JUST;echo '<br>';
    echo $idd1; echo '<br>';
    echo $JUSTIFICATION; echo '<br>';
    echo "";
    $nbre=$H1bis-$H1;echo '<br>';
    echo 	$nbre;
     
     
     //$QUAND1=($jour.$mois.$annee);
      $QUAND1=($annee.$mois.$jour);
      echo $Nom;	echo '//-1<br>';
      echo $id1;	echo '//00<br>';
    	echo $idmel1;	echo '//1<br>'; 
    	echo $QUAND1;	echo '//2<br>';
    	echo $Heures1;	echo '//3<br>';
    	echo $Heures1bis;echo '//4<br>';
    	echo '<br>';
    $nbre=$Heures1-$Heures1;
    //$fait1='N';
    $choix = (isset($_POST['maj']))?$_POST['maj']:null; 
      	echo "Voici les enregistrements que vous avez choisi :<br>"; 
    // bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées
     
    if (!empty($choix)) { 
        foreach($choix as $cle => $valeur) { 
            //echo $cle; 
    		echo '<br>';
    		echo $valeur;	
    	$liendb = mysql_connect($bddserver, $bddlogin, $bddpassword);
    mysql_select_db ($bdd);            // sélection de la base 
    	$sql = "INSERT INTO `ges_abs` (`elenom`, `elepre`, `divcod`, `Combien`, `Qui`, `JUST1`,`JUSTIFICATION`,`ETATJUSTIFICATION`, `QUAND1`,`Heures1`, `Heures1bis`, `REMARQUES1`, `ACTION1`, `elenoet`,`RETARD`,`RQRETARD`) 
    	VALUES ('$elenom','$elepre','$divcod','$nbre','$Qui','$JUST1','$JUSTIFICATION','$ETATJUSTIFICATION','$QUAND1','$Heures1','$Heures1bis','$REMARQUES1','$ACTION1','$elenoet','$RETARD1','$RQRETARD')";
    	mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); 
    	ECHO $QUAND1;
    		  echo $sql;
    }  
     }	
     
    echo "<br><a href=abs_index.php?id=$elenoet> ABSENCE ENTREE, REVENIR A LA PAGE PRINCIPALE</a>"; 
     
     ?>

  8. #8
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Points : 182
    Points
    182
    Par défaut
    Et les autres passent? Je ne trouve pas les INPUT dans ton code.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut je ne travaille que sur seule valeur pour le moment
    non les autres n'existent pas pour le moment, j'essaye juste avec le NOM mais ça ne passe pas...
    par contre celle ci passe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    </form>
    <form action="add4absbis.php" method="post">
    <TD>Quel est l'adulte qui entre cette absence (initiales NomPrénom)</TD>
        <input type="text" onFocus="Qui.style.backgroundColor='yellow'"
        onBlur="Qui.style.backgroundColor='white'" name="Qui" size="2"  value="" maxlength="2" class="JSFCString_2_4"><br>

  10. #10
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Il semblerait, en relisant ton code que ton input type="text" name="id1" ne soit pas dans un formulaire mais à l'extérieur de celui ci.

    C'est pour ça que ça ne passe pas.
    Ton code épuré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="add4absbis.php" method="post">
    (...)
    <table border="1">
    </form> /** La fin de ton formulaire est ici et ton input est plus bas.*/ 
    (...)
     <input type="text" name="id1" size="20" value="<?php echo $id1; ?>">
    A moins que je n'ai pas vu l'astuce. Même ton input type="submit" est à l'extérieur.
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut je vois bien mais....il serait en dehors de while
    oui en effet mais si je ne le mets pas là, il n'est pas dans la boucle while donc ne prend pas de valeur...

  12. #12
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Et bien, il te suffit de mettre le </form> après la boucle while.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <form action="ton_action.php" method="post">
    <?php
    while()
      {
        echo '<input type="text" name="id1" value="'.$ta_variable.'"';
      }
    ?>
    </form>
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut essayé mais rien à faire
    j'ai essayé de mettre la balise </form> dans la boucle mais idem, la variable ne passe pas.

  14. #14
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    En fait, lorsque l'on regarde ton formulaire, le submit est à l'extérieur du form.

    De plus, le </form> ne se place pas dans la boucle mais à l'extérieur tel que le bout de code fourni précédemment.

    En fait, en relisant le code fourni, ton </form> est fermé au dessus de ton input et en plus à la fin de ton code. Un tout petit peu fouillis tout ça.

    Je vais récupérer le morceau et voir ce que je peux faire.

    De plus, à moins que tu n'ais pas fourni tout le code, tu as une balise <td> hors tableau. un <td> puis après un <table> ?????
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  15. #15
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Je pense avoir trouvé le problème.

    Tu mets ton input dans un while, ce qui fait que tu te retrouve au final avec plusieurs input name="id1", donc lorsque tu veux récupérer la valeur, il y en a plusieurs.

    Pour rappel, ton while s'effectue après un resultat > 1, donc au moins 2, donc 2 input portant le même nom.

    Donc le systeme se demande lequel choisir. Non ?
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par FredPsy Voir le message
    Je pense avoir trouvé le problème.

    Tu mets ton input dans un while, ce qui fait que tu te retrouve au final avec plusieurs input name="id1", donc lorsque tu veux récupérer la valeur, il y en a plusieurs.

    Pour rappel, ton while s'effectue après un resultat > 1, donc au moins 2, donc 2 input portant le même nom.

    Donc le systeme se demande lequel choisir. Non ?
    oui c'est peut être une raison, mais comment résoudre mon problème alors ?

  17. #17
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Il me faudrait la structure de ta base Mysql pour que je puisse avancer sur ton problème. Sans ça, je ne peux pas exécuter ton code.

    Ainsi que ce qu'il y a dans tes fichiers include. voir même le code complet de ton appli.

    Voili voilou.
    "Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
    Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

    Je lutte contre le language SMS.

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Points : 77
    Points
    77
    Par défaut suite...
    bonjour
    ma structure est simple:
    1 base elevescomplete qui regroupe toutes les données des élèves (nom.prénom....=
    et 1 base ges_abs qui va regrouper les absences: on y met le nom, prénom, la date, les heures (je sais je peux faire une liaison avec un identifiant mais je suis un amateur et nous gérons peu d'enregistrement.
    Donc le premier formulaire sert à rentrer les données et le deuxième à ajouter dans ges_abs.
    pour le code, il est complet dans ce que j'ai déjà donné....
    merci en tout cas

  19. #19
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Comme tu le supposes tu as déjà un gros souci de conception de la BDD, le fait qu'il y ait beaucoup d'éléments ou pas ne change rien, tu perds beaucoup d'avantages de l'utilisation d'une BDD en faisant comme ça. Si il est encore temps de changer ça en vaut largement la peine. Etre amateur (comme beaucoup de monde ici) n'empêche en rien de produire un code le plus propre possible
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  20. #20
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Points : 182
    Points
    182
    Par défaut
    Absolument d'accord. Il va falloir revoir ton code je pense. Si tu nous dis ce que tu veux faire peut-être on pourra t'aider.

Discussions similaires

  1. Ma variable ne passe pas ->http req
    Par svan1812 dans le forum Programmation et administration système
    Réponses: 0
    Dernier message: 11/12/2008, 07h33
  2. [Tableaux] PB mon IF ne passe pas pourquoi ?
    Par foxdream94 dans le forum Langage
    Réponses: 10
    Dernier message: 06/06/2007, 12h00
  3. Réponses: 2
    Dernier message: 07/03/2006, 01h53
  4. [Système] variable qui ne passe pas !!!
    Par azorol dans le forum Langage
    Réponses: 21
    Dernier message: 20/02/2006, 10h53
  5. [Tableaux] variable qui ne passe pas
    Par oceane751 dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2005, 02h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo