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 :

tester une variable pour se rediriger sur une page


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    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 : 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
     
     
    <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
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Un header() après avoir commencé l'affichage, ça peut pas marcher !
    Voir la doc : header.

    D'autre part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    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
    Futur Membre du Club
    Homme Profil pro
    Auto-Entrepreneur / Etudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    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 : 9
    Points
    9
    Par défaut
    +1 pour le header.

    Mais d'autres trucs m’interpellent,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_typ = "SELECT tp FROM type where id_type = '$pip'  ";
    Attention a bien concatener ta variable $pip comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $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
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Attention a bien concatener ta variable $pip comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $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
    Futur Membre du Club
    Homme Profil pro
    Auto-Entrepreneur / Etudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    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 : 9
    Points
    9
    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
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Points : 59
    Points
    59
    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!

Discussions similaires

  1. [XL-2007] syntaxe d'une variable dans la connection d'une base pour un publipostage vba
    Par fario dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/10/2011, 23h58
  2. [PPT-2007] Incrémenter la valeur d'une variable suite au clic sur une forme.
    Par BrItneY dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 07/09/2010, 15h48
  3. Réponses: 2
    Dernier message: 23/01/2008, 23h10
  4. cliquer sur une image pour l'agrandir sur la meme page ?
    Par willynelle dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 16/04/2007, 23h50
  5. Réponses: 9
    Dernier message: 03/07/2006, 19h32

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