PHP:probleme avec header

Fermé
infor3lmd Messages postés 111 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 13 mai 2009 - 5 mai 2009 à 18:47
infor3lmd Messages postés 111 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 13 mai 2009 - 5 mai 2009 à 19:57
Bonjour,
je vous montre un code que j'ai fait,son probleme c'est que il m'amène pas dans les page que je veux
mon code est sur etudiant.php et je veux qu' aprés de faire un choix je serais dans evaluer.php ou evaluer2.php

<?php
session_start(); // On démarre la session AVANT toute chose
 $db="projet";          //le nom de la base de données
		    $connexion=mysql_connect("localhost", "root") or die("connexion impossible");
		     echo "connexion réussie<br>"; 
	         mysql_select_db($db,$connexion) or die("selection de la base de données impossible");
			 echo "choix de la base réussie";
			
?>
<html>
 <head>
       <title> Etudiant </title>
  </head>

<body>
 <form method="post" action="Etudiant.php">
   Module : <select name="module">
              <option value="Programmation logique">Programmaion logique </option>
              <option value="Reseau">Reseau </option>
              <option value="Programmation">Programmation </option>
               <option value="Infographie">Infograghie </option>
               <option value="Génie Logiciel">Génie logiciel </option>
                <option value="Compilation">Compilation </option>
              </select>
			     <input type="submit" name="ok" value="ok" />
		</form>
		</center>
<?php
                //QUAND L'ETUDIANT CHOISIT SON MODULE
		$module = '';  if(isset($_POST['module']))        { $module =($_POST['module']) ; }
	   if (isset ($_POST['ok']))     //si la variable module éxiste
	   {  
	       //on se crée une variable module avec le module entré
		$sqlmod = "SELECT id_mod FROM module WHERE modulou = '$module'";
		echo "soumission de la requete $sqlmod<br>";
		$reqmod = mysql_query($sqlmod,$connexion) or die("selection impossible : $sqlmod".mysql_error());
			
			//création du tableau associatif du résultat
		$reslt = mysql_fetch_assoc($reqmod);
		if( $reslt !== FALSE )         //récupération de la reference du module
		{$reference = $reslt['id_mod'] ;  }
		else { echo 'ce module néxiste pas ' ; }
		
		//recuperer  le id_formulaire
		$sqlform = "SELECT id_form FROM formulaire WHERE id_mod='$reference'  ";
		echo "soumission de la requete $sqlform<br>";
		$reqform = mysql_query($sqlform,$connexion) or die("selection impossible : $sqlform".mysql_error());
		
		while( $number = mysql_fetch_assoc($reqform) )
		{?> Le Formulaire : <?php   echo $number['id_form'],'<br>' ;  }
		
		?> <html>
		         <head>       </head>
		    <body> <center> 
            <form method="post" action="Etudiant.php">			
		    <p><h4>Entrer le numéro formulaire que vous voulez tester :</h4></p><br>			
		     N°Formulaire <input type="text" name="nrform" size="10" maxlengh="10"/><br><br>
		     <input type="submit" name="valider" value="ok" />
			 </center>
			 </form>
			 </body>
			 </html>
   <?php   }
            $nrform ='';
            $_SESSION['nrform']= '';
            if(isset($_POST['nrform']))
		{  $_SESSION['nrform'] = $_POST['nrform'] ;
		   $nrform = $_POST['nrform'] ;
           $sqltype = "SELECT id_typ FROM formulaire WHERE id_form='$nrform' " ;
           echo " soumission de la requete $sqltype<br>";
           $reqtype = mysql_query($sqltype,$connexion) or die("selection impossible : $sqltype".mysql_error()) ;
		   //création du tableau associatif du résultat
		   $resltype = mysql_fetch_assoc($reqtype);
		   if( $resltype !== FALSE )         //récupération de la reference du module
		  { $top = $resltype['id_typ'] ; }
		   else { echo'ce type nexiste pas ' ; }
		   //on cherche c'est quelle type a partir de la table type
		   $sqltp = "SELECT typ FROM type WHERE id_typ='$top' " ;
		   echo"soumission de la requete $sqltp<br>";
		   $reqtp = mysql_query($sqltp,$connexion) or die("selection impossible : $sqltp".mysql_error()) ;
		   //création du tableau associatif du résultat
		   $resltp = mysql_fetch_assoc($reqtp);
		   if( $resltp !== FALSE )         //récupération de la reference du module
		  { $tp = $resltp['typ'] ; }
		   else { echo'ce type nexiste pas ' ; }
		   $_SESSION['tp'] = $tp ;
		 }  
		   if($_SESSION['tp'] == 'Q C U')
		   { header('Location : evaluer.php');
			   exit() ;
		   }
			elseif($_SESSION['tp'] == 'Q C M')
			{ header('Location : Enseignant.php'); 
			  exit();
			}
			else { echo 'Erreur,type indeterminée ! ' ; }
   ?>  
</body>  
</html>

pouvez vous m'aider?
merci de votre attention
A voir également:

9 réponses

Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
5 mai 2009 à 19:06
Header doit toujours se placer avant tout code html !!!!!
0
infor3lmd Messages postés 111 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 13 mai 2009 2
5 mai 2009 à 19:26
comment sa ?
mais j'ai déjà travaillé avec header
et j'ai placer header après html et sa a marché
si vous voulez je vous montre le code
0
Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
5 mai 2009 à 19:28
Regarde ici : https://www.php.net/manual/fr/function.header.php dans le deuxième encadré !!!
0
infor3lmd Messages postés 111 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 13 mai 2009 2
5 mai 2009 à 19:34
oui!!!!

mais je vous montre sa :
<?php
session_start(); // On démarre la session AVANT toute chose

?>
 <html>
<head>
					   donnez le type de formulaire que vous allez créer :
					   <br><br>
					   <form method="post" action="Enseignant.php">
                <input type="radio" name="tope" value="Q C M"/> Q C M <br>
               <input type="radio" name="tope" value="Q C U"/> Q C U <br>
               <input type="radio" name="tope" value="Q ouvert"/> Q Ouvert
<br><br> 
       <input type="submit" value="ok" name="ok">
    </form>
	<?php     if(isset($_POST['tope']))
	        {   $_SESSION['tope'] = $_POST['tope'];
    			if( $_POST['tope'] == 'Q C U' or $_POST['tope'] == 'Q ouvert')
			     {     header('Location: type1.php') ;
                   exit( ) ;
                 } 
				 elseif ( $_POST['tope'] == 'Q C M' ) 
			  {
                  header('Location: type2.php') ;
                 exit( ) ;
              } 
			  
               else{     echo 'Erreur, type indéterminée !' ;}
                
            }    
	?>				  <a href="typeform.php">  Créer Formulaire<br>  </a>


j'ai fait sa et sa marche
pourquoi ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Harricote Messages postés 417 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 30 janvier 2011 41
5 mai 2009 à 19:37
Et bien, franchement, je suis cloué !!! Je n'en sais ABSOLUMENT rien !

Désolé !
0
infor3lmd Messages postés 111 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 13 mai 2009 2
5 mai 2009 à 19:41
ok merci!!!
0
Fixer777 Messages postés 15 Date d'inscription dimanche 18 janvier 2009 Statut Membre Dernière intervention 5 mai 2009 1
5 mai 2009 à 19:41
Bonjour :
Avant de parler du header^^, lorsque tu places tes variables dans les echos, ne confond pas les guillemets avec les apostrophes... par exemple, je reprends une requête

$sqlmod = "SELECT id_mod FROM module WHERE modulou = '$module'"; //requête non corrigée

Lorsque j'ai réécris sur le notepad++ ton code, le $module était en noir, personnellement, pour éviter les erreurs, il faut que la variable soient en bleue, en correction ça donnerait :

$sqlmod = "SELECT id_mod FROM module WHERE modulou = ".$module.""; // requête corrigée (avec ".$module.")
ou
$sqlmod = 'SELECT id_mod FROM module WHERE modulou = '.$module.''; // requête avec '.$module.' (je te conseille celle là :)

Avec ça, tu auras déjà un code plus "clean" ;).

Ensuite, bien que je n'utilises jamais les true/false, tu écris !== : il y a un "=" en trop j'ai l'impression. Et à mon avis, ton erreur vient de là. Si ça ne marche pas, précise la ligne qui ne marche pas.

Bon courage
0
infor3lmd Messages postés 111 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 13 mai 2009 2
5 mai 2009 à 19:48
merci beaucoup
je vais voir
0
infor3lmd Messages postés 111 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 13 mai 2009 2
5 mai 2009 à 19:57
aucune erreur;

c'est la page etudiant.php qui est affiché avec ces deux message :
soumission de la requete SELECT id_typ FROM formulaire WHERE id_form='2'
soumission de la requete SELECT typ FROM type WHERE id_typ='2'

cela veut dire que il a récupérer le typ de la table type
mais il me rédige pas vers la page evaluer.php
????????
0