Problème de header

Fermé
Utilisateur anonyme - 15 juin 2007 à 13:34
 bowbow13 - 18 juin 2007 à 12:01
Bonjour!

J'ai un problème, j'utilise la fonction php header afin d'afficher une image provenant d'une base de données. J'ai lu qu'il faut que cette fonction se trouve avant le corps de la page et qu'il ne faut pas de balise <html> avant. J'ai donc mis une balise après la fonction mais cela ne fonctionne toujours pas!

J'aimerais savoir s'il est possible d'afficher une image provenant d'un base de données de la même façon que s'il provenait d'un fichier.

4 réponses

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
16 juin 2007 à 23:33
salut,

dis nous en plus.
as-tu une erreur, si oui, laquelle ?

pour ton image, elle est stocké sur le serveur ou dans la bdd ?
qu'as-tu essayé jusqu'à présent ?
0
Utilisateur anonyme
17 juin 2007 à 13:10
Bonjour

L'image est stockée dans une base de données.

J'aimerai l'affiché dans une page html mis en page et non comme un aperçu en php.

Pour le moment si je l'affiche en aperçu php, l'image est correctement affiché. Mais dès que je veux intégrer l'image à un page html, on lieu de l'image, une série de caractères incompréhensibles s'affiche en dessous du message d'erreur Warning.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
17 juin 2007 à 17:31
salut,

mais qu'est-ce qu'il te dit le warning ?!
'Header already sent' ou autre chose ?
0
ton header tu doit quand même ouvrir la balise d'ouvertur du script php, ce qui donnera :

==============
<?php
//ton code php dans ton header...
?>
<html>
<head><title>test</title></head>
<body>...</body>
</html>
==============
Et si tu fait un include de cette page dans une autre ton header ne sera plus valide ;) donc fait gaffe à faire tout ça en pensant du coté serveur quand le code sera executé où est ce qu'il va se lancer en premier :)
0
Probleme avec mon header, voici le petit message d erreur:
Warning: Cannot modify header information - headers already sent by (output started at d:\dev\easyphp1-8\www\somei\test\identification.php:3) in d:\dev\easyphp1-8\www\somei\test\identification.php on line 90

Mon code
<html>
<body>
	<?
function formulaire()
{
	echo("<table width=\"100%\">");
	$saut="<br/><br/>";
	/*formulaire d identification pour administrateur et client*/
	echo("<form name=\"formulaire\" action=\"identification.php\" method=\"post\">");
	//echo("<input type=\"hidden\" name=\"repere\" value=\"1\"/>$saut");<----voudrai recuperer valeur sans message erreur de maniere a faire un repere
	echo("<tr><td>Identifiant :</td></tr>");
	echo("<tr><td><input type=\"text\" name=\"login\"/></td></tr>");
	echo("<tr><td>Mots De Passe :</td></tr>");
	echo("<tr><td><input type=\"password\" name=\"mdp\"/></td></tr>");
	echo("<tr><td><input type=\"submit\" value=\"validation\"/></td></tr>");
}
?>
<?
formulaire();
?>
<?
/*connection a la base de donné de la somei*/
$connectServer = mysql_connect("localhost", "root", "")
or die("Impossible de se connecter : " . mysql_error());
/* selection de la base de donnée mysql */
$connectDB=@mysql_select_db("somei", $connectServer);
/*verifie si la base de donné existe*/
if($connectDB)
{
	/*repere permettant (si j y arrive) à aller dans un if a un moment donné (deuxieme passage)*/
	//if($_POST['repere']==1)
	// {
	/*connection a la base de donné et récupération des valeurs*/
	$result = mysql_query("SELECT * FROM `identification`");
	while($affiche = mysql_fetch_row($result))
	{
		/*vérification que le champs identifiant a bien été rempli*/
		if(!empty($_POST['login']) && isset($_POST['login']))
		{
			/*Vérification que le champs mdp a bien été remplie*/
			if(!empty($_POST['mdp'])&& isset($_POST['mdp']))
			{
				/*comparaison de l'identifiant rentré avec la base donné*/
				if($_POST['login']==$affiche[1])
				{

					/*comparaison du mdp rentré avec la base de donné*/
					if(md5($_POST['mdp'])==$affiche[2])
					{
						/*vérification des droits d'acces*/
						if($affiche[0]=="a" || $affiche[0]=="A")
						{
                                                  redirect();
							echo("Et oui j ai acces a touts le site avec mon grand A</td></tr>");
						}
					}
					else
					{
						echo("<tr><td><i>Le mots de passe est invalide</i></td></tr>");
					}
				}
				else
				{
					echo("<tr><td><i>L'identifiant remplie est incorrect</i></td></tr>");
				}
			}
			else
			{
				echo("<tr><td><i>Veuillez rentrer un mots de passe dans le champ correspondant</i></td></tr>");
			}
		}
		else
		{
			echo("<tr><td><i>L'identifiant et le mots de passe sont obligatoire pour vous connecter dans la partie vous étant aménagé</i></td></tr>");
		}
	}
	//}
}

echo("</form>");
echo("</table>");
mysql_close($connectServer);
?>
</body>
</html>
	<?

function redirect()
{
header("Location: http://cqcqqcqqcqqc");
}
?>


Et enfin pourquoi quand j affiche cette page dans une div je peut par rentrer dans les champs input

merci de votre aide :D
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
18 juin 2007 à 11:00
salut,

pour le header() au moment ou tu l'utilises rien ne doit avoir été envoyé au client. à chaque fois que tu écris du html tu envoies eu client à chaque fois que tu utilises la fonction echo() en php tu envoies aussi. à toi de faire un code qui utilises header() avant d'avoir envoyé quoi que ce soit (le moindre caractère compte, même un espace). donc les premier caractères à écrire sur ton scripte c'est '<?php'.

ou alors et ce sera peut être plus simple, n'utilises pas le header()mais fais un include() de la partie centrale de la page vers laquelle tu voulais renvoyer.
0
non il faut que je redirige vers une autre page c'est pour ca le header.
BOn en tout cas ça m a été utile je tenterais de l appliquer cette apres midi ;)
0