probleme d'entete

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme d'entete

Re: probleme d'entete

par thehawk » 15 sept. 2009, 16:26

Vérifie si le fichier inclus au tout début ne comporte pas une ligne vierge à la fin.
Ou au début , ou alors le caractère BOM.

VB te parle d'un retour chariot après (ou avant) le <?php et ?>

Bye Hawk

Re: probleme d'entete

par Victor BRITO » 15 sept. 2009, 16:19

Vérifie si le fichier inclus au tout début ne comporte pas une ligne vierge à la fin.

Re: probleme d'entete

par FuZZyLine » 15 sept. 2009, 16:04

Salut,
Bonjour,
J'ai un message d'erreur mais je ne comprend pas ?

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started at /home/web/6tnline.com/ftp/www/inscription/class/class.pdo.php:129) in /home/web/6tnline.com/ftp/www/inscription/requete.php on line 35
<?php include("class/class.pdo.php");
$connection = new Connection();
$pseudo=$_POST['pseudo'];
$mail=$_POST['mail'];
$nom=$_POST['nom'];
$motDePasse=$_POST['motDePasse'];
$motDePasse2=$_POST['motDePasse2'];
$prenom=$_POST['prenom'];
//echo 'tot';
if (
	isset($pseudo) && !empty($pseudo) &&
	isset($mail) && !empty($mail) &&
	isset($nom) && !empty($nom) &&
	isset($motDePasse) && !empty($motDePasse) &&
	isset($motDePasse2) && !empty($motDePasse2) &&
	isset($prenom) && !empty($prenom)
	) 
	 {
		if($motDePasse2 != $motDePasse)
		{
			$message="vos mot de passe doivent être identiques";
			header('Location:inscription.php?message='.urlencode($message));
		}
		else
		{
			$motDePasse=md5($motDePasse);
			$sql="
				INSERT INTO inscription (id, pseudo, mail, nom, prenom, motDePasse, activationCompte)
				VALUES (NULL , '$pseudo', '$mail', '$nom', '$prenom', '$motDePasse', 0);";
			$result= $connection->select($sql);
			$sql="SELECT id FROM inscription order by id asc";
			$result= $connection->select($sql);
			foreach ($result as $variable) {$idActivationCompte= $variable['id'];}
			
		    $entetes='Content-Type: text/html; charset="iso-8859-1"'."\n";
		    $entetes.='Content-Transfer-Encoding: 8bit';
		    $messageMail ='<html><head><title>activation de votre compte</title></head>
		    <body>
		    	Bonjour,
		    	<p>
		    		Pour activer cotre compte il est impératif de la valider en cliquant  sur ce lien :
		    	</p>
		    	<p>
		    		<a href="http://'.$_SERVER['HTTP_HOST'].'/inscription/activationCompte.php&versus='.$idActivationCompte.'"
		    		 title="activer votre compte">Activez votre compte</a>
		    	</p>
		    	<p>
		    		merci
		    	</p>
		    </body></html>';
			mail($mail, 'inscription', $messageMail, $headers);
			$message="Votre inscription à été prise en compte, vous devez vous connectez";
			header('Location:/inscription/index.php?message='.$message);
Merci
Normal, le header *ne peut* se trouver qu'en tête de fichier.
Rien devant sinon ca marche pas. (j'entends pas la: aucun accès server)

Autrement dit header("Locat...") ne peut, en aucun cas foctionner tel que positionné ainsi dans ton script.

@+ ;)

EDIT: Tu peux, en revanche, utiliser JS... mais pense au fait que tous le monde ne la pas d'activé.

probleme d'entete

par artotal » 15 sept. 2009, 15:38

Bonjour,
J'ai un message d'erreur mais je ne comprend pas ?

Code : Tout sélectionner

Warning: Cannot modify header information - headers already sent by (output started at /home/web/6tnline.com/ftp/www/inscription/class/class.pdo.php:129) in /home/web/6tnline.com/ftp/www/inscription/requete.php on line 35
<?php include("class/class.pdo.php");
$connection = new Connection();
$pseudo=$_POST['pseudo'];
$mail=$_POST['mail'];
$nom=$_POST['nom'];
$motDePasse=$_POST['motDePasse'];
$motDePasse2=$_POST['motDePasse2'];
$prenom=$_POST['prenom'];
//echo 'tot';
if (
	isset($pseudo) && !empty($pseudo) &&
	isset($mail) && !empty($mail) &&
	isset($nom) && !empty($nom) &&
	isset($motDePasse) && !empty($motDePasse) &&
	isset($motDePasse2) && !empty($motDePasse2) &&
	isset($prenom) && !empty($prenom)
	) 
	 {
		if($motDePasse2 != $motDePasse)
		{
			$message="vos mot de passe doivent être identiques";
			header('Location:inscription.php?message='.urlencode($message));
		}
		else
		{
			$motDePasse=md5($motDePasse);
			$sql="
				INSERT INTO inscription (id, pseudo, mail, nom, prenom, motDePasse, activationCompte)
				VALUES (NULL , '$pseudo', '$mail', '$nom', '$prenom', '$motDePasse', 0);";
			$result= $connection->select($sql);
			$sql="SELECT id FROM inscription order by id asc";
			$result= $connection->select($sql);
			foreach ($result as $variable) {$idActivationCompte= $variable['id'];}
			
		    $entetes='Content-Type: text/html; charset="iso-8859-1"'."\n";
		    $entetes.='Content-Transfer-Encoding: 8bit';
		    $messageMail ='<html><head><title>activation de votre compte</title></head>
		    <body>
		    	Bonjour,
		    	<p>
		    		Pour activer cotre compte il est impératif de la valider en cliquant  sur ce lien :
		    	</p>
		    	<p>
		    		<a href="http://'.$_SERVER['HTTP_HOST'].'/inscription/activationCompte.php&versus='.$idActivationCompte.'"
		    		 title="activer votre compte">Activez votre compte</a>
		    	</p>
		    	<p>
		    		merci
		    	</p>
		    </body></html>';
			mail($mail, 'inscription', $messageMail, $headers);
			$message="Votre inscription à été prise en compte, vous devez vous connectez";
			header('Location:/inscription/index.php?message='.$message);
Merci