Erreur PHP Redirection
DAG
-
Langage -
Langage -
Bonjour,
J'ai écris le programme suivant :
Ce programme récupère les info d'une page de login html. A partir de là, il vérifie que les infos entrées par l'utilisateur sont bonnes.
J'ai l'erreur suivante que je ne comprend pas :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/Application/bdd/connexion_bdd.php:12) in /var/www/Application/login.php on line 25
Quelqu'un aurait-il la solution ?
Je voudrais bien n'avoir qu'un fichier ou j'ai ma fonction de connexion, Et je voudrais rediriger l'utilisateur vers une page...
Rien de bien compliqué !
Merci d'avance
J'ai écris le programme suivant :
<?php include 'bdd/connexion_bdd.php'; if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) { extract($_POST); $sql = "SELECT pwd FROM tbl_user where login=\"$login\";"; $req = mysql_query($sql) or die("Erreur SQL !<br>" . $sql . "<br>" . mysql_error()); $data = mysql_fetch_assoc($req); if($data['pwd'] != $pass) { echo "<p>Mauvais login / password. Merci de recommencer</p>"; include('index.html'); exit; } else { session_start(); $_SESSION['login'] = $login; header('Location: /Application/accueil/index.php'); } } else { echo "<p>Vous avez oublié de remplir un champ.</p>"; include('index.html'); exit; } ?>
Ce programme récupère les info d'une page de login html. A partir de là, il vérifie que les infos entrées par l'utilisateur sont bonnes.
J'ai l'erreur suivante que je ne comprend pas :
Warning: Cannot modify header information - headers already sent by (output started at /var/www/Application/bdd/connexion_bdd.php:12) in /var/www/Application/login.php on line 25
Quelqu'un aurait-il la solution ?
Je voudrais bien n'avoir qu'un fichier ou j'ai ma fonction de connexion, Et je voudrais rediriger l'utilisateur vers une page...
Rien de bien compliqué !
Merci d'avance
A voir également:
- Erreur PHP Redirection
- Erreur 0x80070643 - Accueil - Windows
- Expert php pinterest - Télécharger - Langages
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Comment recuperer whatsapp supprimé par erreur - Guide
7 réponses
Et bien je pense (j'ai eu la même erreur aussi) qu'il faut que tu enlève un header() dans un de tes fichiers php inclus.
C'est pas bon d'avoir plusieurs header().
C'est pas bon d'avoir plusieurs header().
Dans ce fichier là je n'est qu'un header ... Je ne comprend pas ... J'ai un fichier inclus ou j'ai la config de la connxion à ma base de données. Et si l'utilisateur ne s'est pas bien logé je le redirige via le header vers une autre page.
C'est bizarre, si je dois virer le header je ne sais pas comment je vais faire pour rediriger les utilisateurs... Et si je dois virer mon include, il va falloir que je mette la conf de la connexion dans chaque fichier php ?
C'est bizarre, si je dois virer le header je ne sais pas comment je vais faire pour rediriger les utilisateurs... Et si je dois virer mon include, il va falloir que je mette la conf de la connexion dans chaque fichier php ?
Ah voilà moi aussi j'ai eu le même problème !
Si tu veux rediriger tes utilisateurs (je fais comme ça aussi maintenant), tu remplaces ton code par celui là ! tu verras ca marchera !
<?php
include 'bdd/connexion_bdd.php';
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass']))
{
extract($_POST);
$sql = "SELECT pwd FROM tbl_user where login=\"$login\";";
$req = mysql_query($sql) or die("Erreur SQL !<br>" . $sql . "<br>" . mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $pass)
{
echo "<p>Mauvais login / password. Merci de recommencer</p>";
include('index.html');
exit;
}
else
{
session_start();
$_SESSION['login'] = $login;
echo "Redirection en cours...<meta http-equiv=\"refresh\" content=\"0;URL=/Application/accueil/index.php\">";
}
}
else
{
echo "<p>Vous avez oublié de remplir un champ.</p>";
include('index.html');
exit;
}
?>
PS : le URL=/Application/accueil/index.php\">"; peut etre que tu dois mettre http:// (la vraie URL)
Voilà tu verras moi aussi j'ai le meme probleme que toi j'ai resolu ca par le html
Si tu veux rediriger tes utilisateurs (je fais comme ça aussi maintenant), tu remplaces ton code par celui là ! tu verras ca marchera !
<?php
include 'bdd/connexion_bdd.php';
if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass']))
{
extract($_POST);
$sql = "SELECT pwd FROM tbl_user where login=\"$login\";";
$req = mysql_query($sql) or die("Erreur SQL !<br>" . $sql . "<br>" . mysql_error());
$data = mysql_fetch_assoc($req);
if($data['pwd'] != $pass)
{
echo "<p>Mauvais login / password. Merci de recommencer</p>";
include('index.html');
exit;
}
else
{
session_start();
$_SESSION['login'] = $login;
echo "Redirection en cours...<meta http-equiv=\"refresh\" content=\"0;URL=/Application/accueil/index.php\">";
}
}
else
{
echo "<p>Vous avez oublié de remplir un champ.</p>";
include('index.html');
exit;
}
?>
PS : le URL=/Application/accueil/index.php\">"; peut etre que tu dois mettre http:// (la vraie URL)
Voilà tu verras moi aussi j'ai le meme probleme que toi j'ai resolu ca par le html
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question