Je n'arrive pas a me rediriger vers une autre page ? php

Fermé
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 - Modifié le 4 janv. 2020 à 01:38
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 - 5 janv. 2020 à 08:59
voila j'ai crée une page membre mais le problème c'est que lorsqu'il est le moment de ce rediriger il y a une erreur

l'erreur est la suivante :

Warning: Cannot modify header information - headers already sent by (output started at /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/testD.php:10) in /storage/ssd3/413/12032413/public_html/darkweb/DarkAccueil/testD.php on line 48



est le code :


<?php 
$bdd = new PDO('mysql:host=localhost;dbname=id12032413_orlando_bdd;charset=utf8', 'id12032413_screamfr', 'bdd_orlando');

if (mysqli_connect_errno()) {
  echo "Souci de connexion à la bdd : " . mysqli_connect_error();
  exit();
}

 ?>
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
 </head>

 <body>
  <h2> Formulaire d'inscription : </h2>

  <form action="" method = "POST">
   <label for="pseudo"> pseudo : </label> </br>
   <input type="texte" name = "pseudo" /> </br>
 
   <label for="password"> Password : </label> </br>
   <input type="password" name = "password" /> </br>
 
   <input type="submit" value ="Inscription" />
  </form> 
 
<?php

if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['password'])) )
{

 $pseudo = addslashes($_POST["pseudo"]) ;
 
 $query = $bdd->query("SELECT * FROM users WHERE username = '$pseudo'"); 
 
 $count = $query->rowCount();
 
 if($count == 1) 
 { 

   header('Location: ../Hub/Hub.php');
   exit;
 } 

 else 
 { 
   echo 'Identifiant Incorrect !';
 } 
}

?>  
 
 </body>
</html>
A voir également:

2 réponses

jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
4 janv. 2020 à 08:33
Bonjour,

Va vraiment falloir faire un choix..... soit tu fais du PDO ... soit du MYSQLI ... pas les deux !!


Ensuite, il faut que tu écrives ton code correctement (et au bon endroit dans ton script).
Le MAXIMUM de ton code php doit se trouver AVANT le code html.
L'instruction header, par exemple, ne tolère pas qu'on affiche autre chose avant de l'utiliser (d'où ton message d'erreur).

Avant de t'aider, je t'invite à retourner lire et appliquer le contenu de ce lien :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et à revenir nous voir une fois que tu auras tenu compte de ces informations si ton souci persiste.


1
ScreamFR Messages postés 73 Date d'inscription lundi 30 décembre 2019 Statut Membre Dernière intervention 19 mai 2022 3
5 janv. 2020 à 03:22
Merci j'ai les conseille de votre lien , par contre maintenant le code ne prend plus en compte si les identifiants sont bon , quand on appui sur le bouton ça nous ramène à la page membre


<?php 

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);


$bdd = new PDO('mysql:host=localhost;dbname=id12032413_orlando_bdd;charset=utf8', 'id12032413_screamfr', 'bdd_orlando');

// On vérifie que le formulaire à été complété et si les champs ne sont pas vides
if ( isset($_POST) && (!empty($_POST['pseudo'])) && (!empty($_POST['password'])) )
{
 //On met le résultat pseudo du formulaire dans $pseudo
 $pseudo = addslashes($_POST["pseudo"]) ;
 
 //On sélectionne dans la table 'utilisateurs' les pseudo qui sont les mêmes que le pseudo tapé dans le formulaire
 $query = $bdd->query("SELECT * FROM users WHERE username = '$pseudo'"); 
 
 //On compte le nombre de réponse
 $count = $query->rowCount();
 
 //Dans le cas où il y a une réponse, qu'un pseudo dans la table correspont au pseudo tapé
 if($count == 1) 
 { 
  // Pseudo déjà utilisé 
   header('Location: ../Hub/Hub.php');
   exit;
 } 

 else 
 { 
   echo 'Identifiant Incorrect !';
 } 
}

?>  

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
 </head>

 <body>
  <h2> Formulaire d'inscription : </h2>

  <form action="" method = "POST">
   <label for="pseudo"> pseudo : </label> </br>
   <input type="texte" name = "pseudo" /> </br>
 
   <label for="password"> Password : </label> </br>
   <input type="password" name = "password" /> </br>
 
   <input type="submit" value ="Inscription" />
  </form> 
 </body>
</html>

0
jordane45 Messages postés 38139 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 avril 2024 4 649
5 janv. 2020 à 08:59
Je te repose la question encore une fois.....

Tu bosses en PDO ou en mysqli ??
Car tu as deux discussions sur le même sujet.... chacune avec une methode de connexion à la bdd différente.
Donc j'aimerai que tu tranches une bonne fois pour toutes !

Et si tu es en PDO... appliques ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
0