Pb syntaxe sur requete avec conditions multiples
Posté : 15 sept. 2012, 13:31
Bonjour à tous !
J'ai un petit souci et votre aide me sera très très utile. Un grand Merci d'avance à ceux qui m'aideront
Mon souci : J'ai une page qui, en l'état actuel des choses, est sensée me faire une redirection vers une autre page. ça ne marche pas : le visiteur reste sur cette page alors qu'il ne devrait pas. La redirection est déclenchée par une requete (l52) et je pense que le pb vient de là.
Ne maitrisant pas bien du tout la syntaxe php, j'ai essayé un certain nombre de choses sans en trouver une seule qui me fasse marcher le truc ! sauf que là, je ne vois pas ce qui peut clocher...
Voici le code de ma page. Tout fonctionne sauf la redirection.
Les cookies sont bien présents et contiennent bien les valeurs que j'attend (ces valeurs s'affichent ailleurs sur la page grâce aux lignes 43 pour le IdInteg et 46 pour le IdDo)
ma table indiv : elle existe bien, elle contient bien un champs IdIndiv, un autre champs IdInteg et encore un autre champs IdDo. Comme je viens de créér cette table, elle est vide (plus vide que ça, c'est le désert !) donc le résultat de la requete ne peut être que =0 quelques soient le IdInteg et le IdDo. sauf que ma page se comporte comme si le résultat est !=0...
J'ai un petit souci et votre aide me sera très très utile. Un grand Merci d'avance à ceux qui m'aideront
Mon souci : J'ai une page qui, en l'état actuel des choses, est sensée me faire une redirection vers une autre page. ça ne marche pas : le visiteur reste sur cette page alors qu'il ne devrait pas. La redirection est déclenchée par une requete (l52) et je pense que le pb vient de là.
Ne maitrisant pas bien du tout la syntaxe php, j'ai essayé un certain nombre de choses sans en trouver une seule qui me fasse marcher le truc ! sauf que là, je ne vois pas ce qui peut clocher...
Voici le code de ma page. Tout fonctionne sauf la redirection.
<?php
session_start();
$IdDo = $_SESSION['IdDo'];
$IdInteg = $_COOKIE['IdInteg'];
$NomDo = $_SESSION['NomDo'];
//ecriture du cookie IdDo et du cookieNomDo
$expire = 365*24*3600;
setcookie("IdDo","$IdDo",time()+$expire);
setcookie("NomDo","$NomDo",time()+$expire);
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>do_ac</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
<!-- ....................................-->
<!--[if lt IE 9]>
<script
src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> <!-- ce commentaire est un commentaire spécial qui est lu par Internet explorer pour assurer la compatibilité avec les versions antérieures a IE9
...............................-->
<link rel="stylesheet" href="css1.css" />
<link rel="stylesheet" href="css2.css" />
<!-- le lien contenu dans href=" " renvoi vers le fichier css utilisé sur la page. à modifier en fct° -->
</head>
<body>
<?php // connexion à mysql et selection de la base test1
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
mysql_select_db('test1',$db) or die('Erreur de selection '.mysql_error()); ?>
<div id="entete">
<div id="infos"><p>
<?php //Affichage des infos liées aux $_SESSION
echo 'Session : IdInteg : '.$_SESSION['IdInteg'].' ; pseudo : '.$_SESSION['pseudo'].' ; niveau licence : '.$_SESSION['lic'].'. - ';
// Affichage du dossier en cours d'utilisation
echo 'Dossier en cours : '.$IdDo.' '.$NomDo.'';?>
</p></div>
</div>
<div id="corpsGen">
<div id="corpsGauche">
<div id="lic">
<?php echo '<p>Licence n°: '.$_COOKIE['IdInteg'].'<br />de niveau : '.$_COOKIE['lic'].'<br />Attribuée à : '.$_COOKIE['pseudo'].'</p>'; ?>
</div>
<div id="Do_act">
<?php echo '<p>Dossier ouvert :<br />N° du dossier : '.$IdDo.'<br /> Nom du dossier : '.$NomDo.'</p>'; ?>
</div>
</div>
<div id="corpsDroite">
<?php include('menu_top.php');?>
<?php // on regarde si au moins 1 IdIndiv existe déjà pour cet IdInteg et ce IdDo
$sql = 'SELECT IdIndiv FROM indiv WHERE IdInteg= "'.$_COOKIE['IdInteg'].'" AND IdDo= "'.$_COOKIE['IdDo'].'"';
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on compte le nombre de résultats
$res = mysql_num_rows($req);
if($res=0) // si y'en a pas, direction le formulaire pour rentrer le 1er !
{
header('location:nv_Indiv.php');
exit;
}
else
echo 'on est sur la page do_acc qui est sensée afficher l\'organigramme comprenant au moins le premier individu et les autres si ils existent. A FAIRE !!! après avoir fini le form état civil et son traitement...';
?>
</div>
</div>
</body>
</html>
Certitudes :Les cookies sont bien présents et contiennent bien les valeurs que j'attend (ces valeurs s'affichent ailleurs sur la page grâce aux lignes 43 pour le IdInteg et 46 pour le IdDo)
ma table indiv : elle existe bien, elle contient bien un champs IdIndiv, un autre champs IdInteg et encore un autre champs IdDo. Comme je viens de créér cette table, elle est vide (plus vide que ça, c'est le désert !) donc le résultat de la requete ne peut être que =0 quelques soient le IdInteg et le IdDo. sauf que ma page se comporte comme si le résultat est !=0...