rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[PHP] Problème Include renvoyant sur Header

neo673, le vendredi 7 septembre 2007 à 00:16:08
Bonjour à tous !

Voici mon problème.

J'ai une page index.php(menu et header statique et une partie dynamique)Dans le menu, lorsque l'on clique sur le lien du menu "Inscriptions", inclus la page Inscription1.php dans la partie dynamique.
Cette page Inscription1.php, si le formulaire est correctement envoyé, renvoie sur Inscription2.php (header:location) et ainsi de suite.

Cependant, la premiere page (Inscription1.php) s'affiche correctement, mais une fois le premier formulaire envoyé, page blanche et il n'y a plus rien...


Concrètement, voici le code :
//index.php c'est la fonction qui inclus ma page Inscription1.php
<?PHP
if(isset($page)==1){
include('pages/'.$page.'.php');
}

//Dans inscription1.php voici ce qui se passe quand tous les champs sont corrects et quand le formulaire a été envoyé :
header("Location:inscription2.php");

//Ensuite je devrais arriver sur Inscription2.php mais comme je l'ai dit, page blanche, rien ne se passe...
// Je me poses donc la question si il est possible de renvoyer la première page vers la seconde etc...

Merci de votre aide :))


PS: Il faut voir cela comme des étapes, l'utilisateur ne peut pas passer à l'étape 2 avant d'avoir correctement passer la 1. Et j'aimerais faire tout cas dans la partie dynamique.
Configuration: Windows XP
Firefox 2.0.0.6
Répondre à neo673  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
neojick, le vendredi 7 septembre 2007 à 08:17:04
Habituellement, quand tu as une erreur php, ton navigateur affichage une page blanche ou une erreur ? Parce qu'il affiche une page blanche, on peut supposer que tu as le message habituel de l'erreur sur un header. Il ne faut pas un seul morceau de code autre que php dans une page ou tu va faire un header ensuite, même pas un simple espace entre le début de ton fichier et la balise d'ouverture <?php

Ce qui est logique, si on fait un header, c'est qu'on n'a rien à afficher sur cette page.


Après, si ton navigateur affiche habituellement les erreurs php, c'est un autre problème... et là, il faut nous dire quelle adresse est dans l'url quand il y a page blanche : page1.php ou page2.php ? Pluie en septembre, route mouillée
Répondre à neojick

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
neo673, le vendredi 7 septembre 2007 à 10:10:18
mon navigateur affiche habituellement les erreurs PHP.


l'url quand il y a page blanche indique index.php, c'est bizarre.


Voici mon code (je vous mets juste les infos nécessaires car sinon ca ferait bcp trop de code:
INDEX.PHP
<?PHP
session_start();
if(isset($_GET['page'])){
  $page=$_GET['page'];
}

?>
<html> 
<body>
<table>
  <tr>
     <td align="center" bgcolor="#336185" class="fondlien"><span class="stylemenu"><a href="index.php?page=inscription1">Inscription</a></span></td>
  </tr>
</table>
<!-- ensuite plus bas j'ai cela -->
<table border='0' cellpadding='0' cellspacing='0' width='840' align='center'>
     <tr>
         <td>
              <?PHP 
                  if(isset($page)){
                  include('pages/'.$page.'.php');
                }
                 ?> 
          </td>
     </tr>
</table>

INSCRIPTION1.PHP (en complet)

<?PHP
if(isset($_REQUEST['Submit1'])){
	require("protec/passe/conf.php");
	if ( isset($_REQUEST) && (!empty($_REQUEST['nom'])) && (!empty($_REQUEST['prenom']))&& (!empty($_REQUEST['AnneeEntree'])) ) {
	  //Récupération du formulaire d'inscriptions
	  $nom = strip_tags(substr($_REQUEST['nom'],0,32));
	  $prenom = strip_tags(substr($_REQUEST['prenom'],0,32));
	  $AnneeEntree = strip_tags(substr($_REQUEST['AnneeEntree'],0,4));
	  // CONNEXION MYSQL
	  $db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
	  $requete=mysql_db_query($sql_bdd,"SELECT NoUtilisateur,Nom,Prenom,AnneeEntree,ActifOrNot
	  FROM utilisateurs WHERE Nom='$nom' AND Prenom='$prenom' AND AnneeEntree='$AnneeEntree'",$db_link)or die("Erreur de requête: ". mysql_error());
	  $num=mysql_num_rows($requete);
	  if($num!=0) {
	  	while($data = mysql_fetch_assoc($requete)){
	  		$ActifOrNot = $data['ActifOrNot'];
	  		$IDUser = $data['NoUtilisateur'];
	  	}
	  	if($ActifOrNot == 0)
	  	{
			  //Mise en place des variables de sessions pour l'étape 2 de l'inscriptions.
                        $_SESSION['acces'] = "ok";
	  		$_SESSION['ID'] = $IDUser;
	  		//REDIRECTION VERS LE FORMULAIRE D'INSCRIPTION : ETAPE 2/3
        header("Location:inscription2.php");	
	  		// DECONNEXION MYSQL
	  		mysql_close($db_link);
	  	} else{
	  		// UTILISATEUR DEJA ENREGISTRE
	  		echo "Vous êtes déjà enregistré, merci de vous rendre sur la page de récupération de mot de passe si vous avez perdu ou oublié votre compte.";
	  	}			
	  } else {
	  	echo "<center>Vous ne faites pas partie des utilisateurs pouvant s'inscrire. Merci de prendre contact avec l'<a href='mailto:$email_admin'>administrateur</a></center>";
	  }
	}else{
		echo "Vous devez remplir les champs !";
	}
}
?>
<html>
	<head>
		<title>Inscriptions 1/3</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
	</head>
	<body>
		<div id="title">Formulaire d'inscription : Etape 1/3</div>
		<hr width ="75%" noshade color="black">
		<br>
		
		<form method="post" name="inscription" action="<?PHP echo $_SERVER['PHP_SELF'];?>">

		  <div>
			<table border=0>
			<tr>
				<td>Nom :</td>
				<td><input type="text" size=15 maxlength=32 name="nom"></td>
			</tr>
			<tr>
				<td>Prénom :</td>
				<td><input type="text" size= 15 maxlength=32 name="prenom"></td>
			</tr>
			<tr>
				<td>Année d'entrée à l'ESVIG : </td>
				<td><input type="text" size=3 maxlength=4 name="AnneeEntree"></td>
			</tr>
			<tr>
				<td colspan=2>
				<br>
				<center><input type="submit" name="Submit1" value="Envoyer" class="input"></center>
				</td>
			</tr>
			</table>
		  </div>			
		</form>
	</body>
</html>





Quand je valide sur le formulaire Inscription1.php, j'ai page blanche et l'url s'affiche comme ceci : http://127.0.0.1/PROJET/new_design/index.php




J'espère que vous saurez m'aider. merci :)
Répondre à neo673

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
neojick, le vendredi 7 septembre 2007 à 12:03:17
Je vois, ton header est dans inscription1.php qui est 'includé' dans index. Ce qui fait qu'à l'arrivée, ta fonction header se retrouve dans index.php, et comme tu as du code html dedans, le header plante (cf mon explication au dessus).

PS : désolé pour le temps de réponse Pluie en septembre, route mouillée
Répondre à neojick

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
neo673, le vendredi 7 septembre 2007 à 12:25:46
J'ai pu trouvé l'origine, de l'erreur, en fait c'était simplement que mon :

<form method="post" name="inscription" action="<?PHP echo $_SERVER['PHP_SELF'];?>">
était inclus dans index.php, et donc faisait un PHP_SELF de index.php et non de inscription1.php, d'où l'erreur.

La solution est donc de faire ceci :

<form method="post" name="inscription" action="<?PHP echo $_SERVER['PHP_SELF']."?page=inscription1";?>">


Cependant maintenant 2ème problème c'est que j'ai une erreur de Header vu que le code suivant :
//REDIRECTION VERS LE FORMULAIRE D'INSCRIPTION : ETAPE 2/3
        header("Location:inscription2.php");	

est inclus dans index.php

Comment pourrais-je rediriger inscription1.php vers inscription2.php vu que je dois passer par index.php (qui est mon design du site web donc qui a forcément du code HTML avant le header:location) ???

Merci pour votre aide !
Répondre à neo673

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
neojick, le vendredi 7 septembre 2007 à 12:42:36
Sépare le code php de ta page inscription1.php

Tu fais une page genre action.php qui sera appelée à la soumission du formulaire, dans cette page tu mets tout le traitement à effectuer dont le header.
Et veille donc à ne pas mettre le moindre morceaux d'hmtl (même espace) dans cette page.

Pluie en septembre, route mouillée
Répondre à neojick

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
neo673, le vendredi 7 septembre 2007 à 15:36:44
Oui mais la le problème sera inverse, le header fonctionnera mais les messages d'erreurs au cas où les données d'inscriptions sont fausses ne s'afficheront pas

Car mon header fait partie d'une série de If - else qui testent si ce que l'utilisateur à rentrer est correct, et si tel est le cas, il le renvoie sur la page d'inscription suivante.

Alors si l'utilisateur fait des erreurs j'ai des echo et il n'est donc pas redirigé.
Répondre à neo673

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 neojick, le vendredi 7 septembre 2007 à 17:37:55
Tu peux mettre des messages dans des variables de sessions pour les afficher plus loin Pluie en septembre, route mouillée
Répondre à neojick
[PHP] Include : BDD ? (Résolu)Bonjour, J'aimerais savoir s'il est nécessaire d'avoir une Base De Donnée SQL pour pouvoir introduire des Code d'includ dans une page : S'il est obliger d'avoir un Base de Donnée, Serait... www.commentcamarche.net/forum/affich-5511531-php-include-bdd
Include (Résolu)Bonjour, j ai fait une page index avec des includes une partie du fichiers www.commentcamarche.net/forum/affich-6963491-include
[php] renvoyer la première ligne (Résolu)salut, je recherche un code en php pour renvoyer la première ligne d'un fichier text ou simplement la fonction merci @+ ------------------------------------------ >>Trop de paroles noient la vérité www.commentcamarche.net/forum/affich-5847813-php-renvoyer-la-premiere-ligne
[PHP] Headers already sent by.....Lorsque vous utilisez une fonction Php qui manipule les en-têtes http comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où... www.commentcamarche.net/faq/sujet-1916-php-headers-already-sent-by
[PHP] Redirection header() message d'erreur (Résolu)Bonjour, J'ai un problème avec mon code PHP j'essaie de faire une redirection, mais j'ai un message d'erreur je comprends pas pourquoi www.commentcamarche.net/forum/affich-3898945-php-redirection-header-message-d-erreur
[PHP] variable de recherche dans un tableau (Résolu)Bonjour, j'aimerais mettre la variable ci-dessous dans un tableau, j'ai tenté le coup mais j'ai énormement d'erreurs apparaissant : variable : www.commentcamarche.net/forum/affich-2335125-php-variable-de-recherche-dans-un-tableau
Probleme requete sql (php) (Résolu)Bonjour, j'ai un petit prob je fais actuellement un script et rien ne s'affiche dans mon tableau, $SQL aurrait un probleme?? pourtant cela me parrait correcte si qq pourrait m'aider voila merci ... www.commentcamarche.net/forum/affich-4281944-probleme-requete-sql-php
Mikomi Stereo HeadsetFilaire, Cable 1.8 m,Bande passante écouteurs: ,Contrôle du volume,Divers:Ideal for use with all voice-over-IPs and interactive audio applications including internet phone calls, video conferencing and multiplayer gaming.,Longueur du cable:1.8... www.commentcamarche.net/guide-achat/mikomi-stereo-headset-879326-fiche-technique
MERISE - Modèle conceptuel de la communication Paramétrage du réseau Arrivé là, on sait comment le réseau fonctionne, comment le neurone fonctionne, et comment l'ensemble apprend, mais il serait illusoire de croire qu'il suffit de mettre quelques neurones, les... www.commentcamarche.net/neurones/rnparametrage.php3
MERISE - Contraintes sur relations Neurone Pour commencer, on va partir de l'unité de base pour voir et comprendre comment elle fonctionne. www.commentcamarche.net/neurones/rnpresentation.php3
MERISE - Contraintes sur rôles Nous venons déjà de dire un mot sur la méthode d'apprentissage des réseaux concurrents. Dans cette section, le but est d'aborder les 3 méthodes les plus usitées. En effet, quel que soit le réseau, si on ne lui apprend... www.commentcamarche.net/neurones/rnapprentissage.php3
Toutes les réponses pour « [PHP] Problème Include renvoyant sur Header »