Erreur PHP
Résolu
smoutsmout
Messages postés
160
Date d'inscription
Statut
Membre
Dernière intervention
-
smoutsmout Messages postés 160 Date d'inscription Statut Membre Dernière intervention -
smoutsmout Messages postés 160 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je developpe un site internet.
J'ai fait un formulaire d'identification en php, celui-ci recupere les variables mot de pass et login.
Quand je valide le formulaire j'utilise une page "ValidationIdentification.php" qui verifie si tout est correct.
C'est la que j'ai un probleme, j'ai l'erreur suivante :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\nautiscaphe\validationidentification.php:4) in c:\program files\easyphp1-8\www\nautiscaphe\validationidentification.php on line 17
et le code de la page de validation est :
<?php
session_start();?>
<?
function testSaisie($login, $motpasse)
{
if (empty($login) or empty($motpasse))
return "pasOK";
}
$login= $_REQUEST["login"];
$motpasse = $_REQUEST["motpasse"];
if (testSaisie($login, $motpasse)=="pasOK")
{
#####################################################
ci-dessous la ligne 17 qui pose probleme :
header("location:ErreurIdentification2.php");
exit();
}
include("connexion.php");
$sql = "SELECT login, mdp FROM admin WHERE login='$login'";
$result = mysql_query($sql);
$ligne = mysql_fetch_array($result);
if ($ligne['mdp'] != $motpasse)
{
header("location:ErreurIdentification.php");
exit();
}
else
{
$_SESSION['login']=$login;
header ("Location: liste_news.php");
exit;
}
?>
Je ne sais pas si ca a de l'importance mais la page "ErreurIdentification2.php" contient un include qui appelle une feuille de style contenant la mise en page html.
merci d'avance pour votre aide.
Je developpe un site internet.
J'ai fait un formulaire d'identification en php, celui-ci recupere les variables mot de pass et login.
Quand je valide le formulaire j'utilise une page "ValidationIdentification.php" qui verifie si tout est correct.
C'est la que j'ai un probleme, j'ai l'erreur suivante :
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\nautiscaphe\validationidentification.php:4) in c:\program files\easyphp1-8\www\nautiscaphe\validationidentification.php on line 17
et le code de la page de validation est :
<?php
session_start();?>
<?
function testSaisie($login, $motpasse)
{
if (empty($login) or empty($motpasse))
return "pasOK";
}
$login= $_REQUEST["login"];
$motpasse = $_REQUEST["motpasse"];
if (testSaisie($login, $motpasse)=="pasOK")
{
#####################################################
ci-dessous la ligne 17 qui pose probleme :
header("location:ErreurIdentification2.php");
exit();
}
include("connexion.php");
$sql = "SELECT login, mdp FROM admin WHERE login='$login'";
$result = mysql_query($sql);
$ligne = mysql_fetch_array($result);
if ($ligne['mdp'] != $motpasse)
{
header("location:ErreurIdentification.php");
exit();
}
else
{
$_SESSION['login']=$login;
header ("Location: liste_news.php");
exit;
}
?>
Je ne sais pas si ca a de l'importance mais la page "ErreurIdentification2.php" contient un include qui appelle une feuille de style contenant la mise en page html.
merci d'avance pour votre aide.
A voir également:
- Erreur PHP
- Expert php pinterest - Télécharger - Langages
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Iptv erreur de lecture - Forum TV & Vidéo
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
19 réponses
Coucou Smoutsmout,
essayes de mettre de simple quote dans le header ça pourrait venir de là:
Bon courage ^^
PS: n'oublies les () à ton troisième exit
essayes de mettre de simple quote dans le header ça pourrait venir de là:
header('location:./ErreurIdentification2.php');
Bon courage ^^
PS: n'oublies les () à ton troisième exit
Je pense que c'est simplement du au fait que lorsqu'il essaye de charger et définir le header de ta ligne 17, il se rend compte que tu en as déjà chargé un à la ligne 4 de ton script ValidationIdentification.php. Comme tu ne peux pas avoir deux headers pour une meme page HTML, il rale.
ok
bon j'ai chengé le code et maitenant il me dit
Method Not Allowed
The requested method POST is not allowed for the URL
dans mon formulaire j'ai : <form action="ValidationIdentification.html" method="post" name="identification">
une solution ?
merci d'avance.
bon j'ai chengé le code et maitenant il me dit
Method Not Allowed
The requested method POST is not allowed for the URL
dans mon formulaire j'ai : <form action="ValidationIdentification.html" method="post" name="identification">
une solution ?
merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
beh je sais pas, je veux juste qu'elles passent mes variables.
por la methode get je change post en get dans mon formulaire, et quoi d'autre, dans la page de validation (c'est le code donnée un peu plus haut) je dois faire quoi ?
por la methode get je change post en get dans mon formulaire, et quoi d'autre, dans la page de validation (c'est le code donnée un peu plus haut) je dois faire quoi ?
j'ai déjà essayé mais ca a m'air pire.
parce que je revient au probleme de mon premier message avec l'erreur ligne 17.
parce que je revient au probleme de mon premier message avec l'erreur ligne 17.
oui biensur :
<? include("connexion.php"); ?>
<? $titre="identification";
include("_top.php");
?>
<div align="center">
<h2>Identification</h2>
<form action="ValidationIdentification.php" name="identification" method="POST">
<table>
<tr>
<td>Nom d'utilisateur :</td>
<td>
<input type="text" name="login" size="15" maxlength="25">
</td>
</tr>
<tr>
<td>Mot de passe :</td>
<td>
<input type="password" name="motpasse" size="6" maxlength="6">
</td>
</tr>
</table>
<input type="submit" name="validation" value="Valider">
</form>
</div>
<?
include("_btm.php");
?>
<? include("connexion.php"); ?>
<? $titre="identification";
include("_top.php");
?>
<div align="center">
<h2>Identification</h2>
<form action="ValidationIdentification.php" name="identification" method="POST">
<table>
<tr>
<td>Nom d'utilisateur :</td>
<td>
<input type="text" name="login" size="15" maxlength="25">
</td>
</tr>
<tr>
<td>Mot de passe :</td>
<td>
<input type="password" name="motpasse" size="6" maxlength="6">
</td>
</tr>
</table>
<input type="submit" name="validation" value="Valider">
</form>
</div>
<?
include("_btm.php");
?>
C'est bizarre, chez moi ça fonctionne.
Vérifie bien les majuscules et orthographe de ta page.
Fais le test sinon avec une autre page de redirection.
Vérifie bien les majuscules et orthographe de ta page.
Fais le test sinon avec une autre page de redirection.
bizar en effet.
Je ne comprend vraiment pas pourquoi ca ne marche pas chez moi.
Je vais essayer de faire autrement meme si je ne vois pas comment.
Merci quand meme.
Je ne comprend vraiment pas pourquoi ca ne marche pas chez moi.
Je vais essayer de faire autrement meme si je ne vois pas comment.
Merci quand meme.
j'ai trouvé ma connerie :
c'était tout con :
il falait mettre
$motpasse = $_REQUEST["motpasse"];
au lieu de
$motpasse = $_REQUEST["mdp"];
ca marche
désolée pour le dérangement
et merci.
c'était tout con :
il falait mettre
$motpasse = $_REQUEST["motpasse"];
au lieu de
$motpasse = $_REQUEST["mdp"];
ca marche
désolée pour le dérangement
et merci.
seulement tu tu a besoin d'utiliser des variable de session, vu qu'elle sont sauvegarder entre les page.
Ce formulaire est bon.
<form action="ValidationIdentification.php" name="identification" method="POST"> <table> <tr> <td>Nom d'utilisateur :</td> <td><input type="text" name="login" size="15" maxlength="25"></td> </tr> <tr> <td>Mot de passe :</td> <td><input type="password" name="motpasse" size="6" maxlength="6"></td> </tr> </table> <input type="submit" name="validation" value="Valider"> </form>
Ce formulaire est bon.
<?php session_start(); ?> <?php function testSaisie($login, $motpasse){ if (empty($login) or empty($motpasse)) return "pasOK"; autant utiliser un boolean? } $login= $_POST["login"]; // récuppère les champs en post vu que tu les envoi en post $motpasse = $_POST["motpasse"]; if (testSaisie($login, $motpasse)=="pasOK") { // Je laisse comme sa mais avec des boolean on supprime le '==' header("location:ErreurIdentification2.php"); }else{ include("connexion.php"); $sql = "SELECT login, mdp FROM admin WHERE login='$login'"; $result = mysql_query($sql); $ligne = mysql_fetch_array($result); if ($ligne['mdp'] != $motpasse){ header("location:ErreurIdentification.php"); } else{ $_SESSION['login']=$login; header ("Location: liste_news.php"); } } ?>