Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Nouveau Membre du Club
    Inscrit en
    avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 272
    Points : 27
    Points
    27

    Par défaut tester une variable pour se rediriger sur une page

    bonjour tout le monde.

    j'ai un probleme avec mon code au debut il fonctionné normalement puis desque j'ai rajouté un petit teste il ne marche plus !

    Voila mon code :
    Code :
    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
     
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Sortie Stock</title>
     
    <link href="Style.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .Style2 {font-size: large}
    .Style5 {font-size: large; color: #0000FF;}
    #milieu { height: 500px;
    	width: 600px;
    	}
     
     
    -->
    </style>
    </head>
     
    <body>
     
      <?php
     if(isset($_POST['type']))
    	{ $pip = $_POST['type'] ;
    $query_typ = "SELECT tp FROM type where id_type = '$pip'  ";
    $rr_typ = mysql_query($query_typ,$connexion) or die("insertion impossible: $query_mat <br>".mysql_error());					 
    	$resltnom = mysql_fetch_assoc($rr_typ);
    		if( $resltnom !== FALSE )         //récupération de la reference du module
    		{
    		  $sp = $resltnom['tp'] ; 
              }
     
     
    	} 	
     
    	// if(isset($_POST['hhh']))
    	        //{   
        			//if( $_SESSION['hali'] == 'con')
    			if( $sp == 'con')	
    			 {   
    	$query_cons = "SELECT code_cs,nom_cs, stok_cs FROM consomable where id_type = '$id_tp' order by nom_cs ASC ";
        $rr_cons = mysql_query($query_cons,$connexion) or die("insertion impossible: $query_cons <br>".mysql_error());					 
    	$resltnom = mysql_fetch_assoc($rr_cons);
    		if( $resltnom !== FALSE )         //récupération de la reference du module
    		{
    		  $nm = $resltnom['nom_cs'] ; 
              $_SESSION['nm'] = $resltnom['nom_cs'] ; 	 
     
    		 $st = $resltnom['stok_cs'] ; 
             $_SESSION['st'] = $resltnom['stok_cs'] ; 	 
     
    		  $cd = $resltnom['code_cs'] ; 
             $_SESSION['cd'] = $resltnom['code_cs'] ; 	 
     
     
    		}
    				echo ' </br> ';
    				echo "Vous allez affecter Le produit consommable <u><i>".$nm." </u></i> qui est present dans votre stock avec la quantité : ".$st." au service ".$sss. " ." ;
    				echo '</br>';
    				echo '</br>';
    				echo ' <div align="left">';
    				  echo ' <form id="form2" name="form2" method="post" action="">  ';
     
     
    	echo '</br>';
    	echo '</br>';
    	echo " Quantité Affectée : " ;
    	echo ' <input name = "qt" type = "text" size = "10" maxlength="60" />  ' ;
    	echo " <p>&nbsp;</p> ";		
        echo '<p> <input type="submit" name="dac" value="Valider" /> </p>';
        echo '	</form> '; 
    echo ' </div>	';
     
          if(isset($_POST['dac']))
    	  {
    	  $qt='';
    	  if(isset($_POST['qt'])) { $qt = $_POST['qt'] ; }
     
    	  if($qt<= $_SESSION['st'] )
    	  {
    	     header('Location: zak.php') ;
                       exit( ) ;
    	  }
    	  else { 
    	  ?>
    	  <script language="JavaScript" type="text/javascript">
        alert('<?php echo 'Attention vous avez fait entrer une quantité plus élevé que votre stock ! ' ; ?> ');
     
     
        	</script>
    <?php  }
     
    	  }
     
    ?>
    </body>
    </html>
    Quand je clique sur Valider il reste sur la même pas mais sans rien affiché je sais pas si je peux trouvé une solution pour ce probleme!

    Merci.

  2. #2
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    21 243
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 21 243
    Points : 83 061
    Points
    83 061

    Par défaut

    Un header() après avoir commencé l'affichage, ça peut pas marcher !
    Voir la doc : header.

    D'autre part
    Code :
    alert('<?php echo 'Attention vous avez fait entrer une quantité plus élevé que votre stock ! ' ; ?> ');
    A quoi peut bien te servir le echo pour une chaine fixe ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Nouveau Membre du Club
    Inscrit en
    avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 272
    Points : 27
    Points
    27

    Par défaut

    Ok je suis d'accord avec vous pour le header

    Mais même si je fait entrer une variable plus grande l'alerte ne s'affiche pas donc il vérifie pas la condition alors il rentre pas dans le else !!!

  4. #4
    Candidat au titre de Membre du Club
    Homme Profil pro Maximilien Douchet
    Auto-Entrepreneur / Etudiant
    Inscrit en
    mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Nom : Homme Maximilien Douchet
    Âge : 20
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Auto-Entrepreneur / Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2012
    Messages : 7
    Points : 10
    Points
    10

    Par défaut

    +1 pour le header.

    Mais d'autres trucs m’interpellent,
    Code :
    $query_typ = "SELECT tp FROM type where id_type = '$pip'  ";
    Attention a bien concatener ta variable $pip comme ceci :
    Code :
    $query_typ = "SELECT tp FROM type where id_type = '".$pip."'  ";
    sinon $pip sera considéré comme une chaine de caractères, idem pour le die() peut après et tes autres requêtes.

    Par la suite tu utilise des variables de Session ( ) mais je ne crois pas avoir vu d'ouverture de session.

    il s'agit de la fonction session_start(); a inclure avant tout code html.

    Pour le reste, en effet tu n'a pas besoin d'echo pour une chaine fixe .
    Corrige donc cela, essaye d'indenter un peu mieux ton code, ré-essaye et détaille nous le problème qui restera.

    Edit : Après veille aussi a ne pas confondre les variables et ce ne sont pas les même, la première est lié à la session, la deuxième uniquement à la page en cours.

  5. #5
    Responsable Développement Web

    Avatar de Bovino
    Homme Profil pro Didier Mouronval
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    21 243
    Détails du profil
    Informations personnelles :
    Nom : Homme Didier Mouronval
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 21 243
    Points : 83 061
    Points
    83 061

    Par défaut

    Attention a bien concatener ta variable $pip comme ceci :
    Code :
    $query_typ = "SELECT tp FROM type where id_type = '".$pip."'  ";
    sinon $pip sera considéré comme une chaine de caractères


    Lorsque la chaine est définie par des doubles quotes (") les variables sont interprétées. Ce qui n'est pas le cas avec des simples quotes (').
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Candidat au titre de Membre du Club
    Homme Profil pro Maximilien Douchet
    Auto-Entrepreneur / Etudiant
    Inscrit en
    mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Nom : Homme Maximilien Douchet
    Âge : 20
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Auto-Entrepreneur / Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2012
    Messages : 7
    Points : 10
    Points
    10

    Par défaut

    Citation Envoyé par Bovino Voir le message
    Lorsque la chaine est définie par des doubles quotes (") les variables sont interprétées. Ce qui n'est pas le cas avec des simples quotes (').
    Autant pour moi vieille habitude de toujours concaténer proprement.

  7. #7
    Nouveau Membre du Club
    Inscrit en
    avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 272
    Points : 27
    Points
    27

    Par défaut

    bonjour et merci pour vos réponses.

    Pour mes requêtes tout fonctionne correctement même mes sessions (j'ouvre la session en début de page) j'ai pas de problème avec ça puisque mon code fonctionné correctement c'est lors de l'ajoute de teste sur la variable $qt(quantité) c'est la ou j'ai eu un problème

    Donc ce que je veux vous demandez si il y a une solution pour ce genre de teste si vous pouviez bien-sur m'indiquer sur une solution qui pourra m'aider a faire le teste sur cette variable (c'est à dire si l'utilisateur fait entrer une quantité plus supérieure que la quantité qui existe dans la base de donnée je doit l’avertir avec un message ou je sais pas quoi !)

    J’espère avoir été claire.

    Merci!

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •