[RESOLU] Connection affichant une page blanche

Avatar du membre
Eléphanteau du PHP | 10 Messages

15 janv. 2017, 10:54

Bonjour,
mon problème est que quand je me connecte à mon site sa affiche une page blanche et aucun donné s'envoie de même pour l'inscription.
La page fonctionne jusqu'au moment que je rempli tout les champs et m'envoie sur la même page mais devient blanche

Mon code HTML :
<form method="POST" action="">
			<input type="text" name="pseudoconnect" placeholder="Votre pseudo" />
			<input type="password" name="mdpconnect" placeholder="Mot de passe" /><br />
			<input type="checkbox" name="rememberme" id="remembercheckbox" /><label for="remembercheckbox">Se souvenir de moi</label>
			<br /><br /><input type="submit" name="formconnexion" value="Se connecter !">
		</form>
		<br>
		</div>
		<div class="tabl_inscript" align="center">
					<br><br>
			<center><h2>Inscription</h2></center>
					<form method="POST" action="">
						<table>
							<tr>
								<td align="right">	
									<label for="pseudo">Pseudo: </label>
								</td>
								<td>
									<input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if (isset($pseudo)) { echo $pseudo; } ?>" />
								</td>
							</tr>
							<tr>
								<td align="right">	
									<label for="mail">Mail: </label>
								</td>
								<td>
									<input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if (isset($mail)) { echo $mail; } ?>"/>
								</td>
							</tr>
							<tr>
								<td align="right">	
									<label for="mdp">Mot de passe: </label>
								</td>
								<td>
									<input type="password" placeholder="Votre mot de passe" id="mdp" name="mdp"/>
								</td>
							</tr>
							<tr>
								<td align="right">	
									<label for="mdp2">Confirmer: </label>
								</td>
								<td>
									<input type="password" placeholder="Confirmez votre mdp" id="mdp2"  name="mdp2"/>
								</td>
							</tr>
							<tr>
								<td></td>
								<td align="center">
									<input type="submit" value="S'inscris !" name="forminscription"/>
								</td>
							</tr>
						</table>
						<br>
					</form>
					</div>
					<div class="message_connect">
						<?php
							if(isset($erreur))
							{
								echo '<div class="error">'.$erreur.'</div>';
							}
							if(isset($succes))
							{
								echo '<div class="succes">'.$succes.'</div>';
							}
						?>
					</div>
				</div>
Le code PHP:
<?php
	// CONNEXION
	if(isset($_SESSION['id'])) {
		echo 'vous êtes déjà connecté !';
	} else {
		if(isset($_POST['formconnexion']))
		{
			$pseudoconnect = htmlspecialchars($_POST['pseudoconnect']);
			$mdpconnect = sha1($_POST['mdpconnect']);
			if(!empty($pseudoconnect) AND !empty($mdpconnect))
			{
				$requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND motdepasse = ?");
				$requser->execute(array($pseudoconnect, $mdpconnect));
				$userexist = $requser->rowCount();
				if($userexist == 1)
				{
					if(isset($_POST['rememberme'])) {
						setcookie('pseudo',$pseudoconnect,time()+365*24*3600,null,null,false,true);
						setcookie('password',$mdpconnect,time()+365*24*3600,null,null,false,true);
					}
					$userinfo = $requser->fetch();
					$_SESSION['id'] = $userinfo['id'];
					$_SESSION['pseudo'] = $userinfo['pseudo'];
					$_SESSION['mail'] = $userinfo['mail'];
					echo 'Connection réussi !';
				}
				else
				{
					$erreur = "Mauvais identifiant !";
				}
			}
			else
			{
				$erreur = "Tous les champs doivent être complétés !";
			}
		}

		// INSCRIPTION

		if(isset($_POST['forminscription'])) {
		   $pseudo = htmlspecialchars($_POST['pseudo']);
		   $mail = htmlspecialchars($_POST['mail']);
		   $mail2 = htmlspecialchars($_POST['mail2']);
		   $mdp = sha1($_POST['mdp']);
		   $mdp2 = sha1($_POST['mdp2']);
		   if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
		      $pseudolength = strlen($pseudo);
		      if($pseudolength <= 16) {
		         $reqpseudo = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ?");
		         $reqpseudo->execute(array($pseudo));
		         $pseudoexist = $reqpseudo->rowCount();
		         if($pseudoexist == 0) {
		                        if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
		                           $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
		                           $reqmail->execute(array($mail));
		                           $mailexist = $reqmail->rowCount();
		                           if($mailexist == 0) {
		                              if($mdp == $mdp2) {
		                                 $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)");
		                                 $insertmbr->execute(array($pseudo, $mail, $mdp));
		                                 $succes = "Votre compte a bien été créé ! <a href=\"./connexion.php\">Me connecter</a>";
		                              } else {
		                                 $erreur = "Vos mots de passes ne correspondent pas !";
		                              }
		                           } else {
		                              $erreur = "Adresse mail déjà utilisée !";
		                           }
		                        } else {
		                           $erreur = "Votre adresse mail n'est pas valide !";
		                    	}
		         } else {
		          $erreur = "Pseudo déjà utilisé !";
		         }
		      } else {
		         $erreur = "Votre pseudo ne doit pas dépasser 16 caractères !";
		      }
		   } else {
		      $erreur = "Tous les champs doivent être complétés !";
		   }
		}
	}
	?>
La connexion à ma base fonctionne sans problème, car sa m'affiche bien le nombre de membre inscrit sur le site
</Phantonium>

Mammouth du PHP | 1967 Messages

15 janv. 2017, 15:50

Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Avatar du membre
Eléphanteau du PHP | 10 Messages

15 janv. 2017, 22:40

Déjà essayer, sa n'affiche pas les erreurs sur la page, les seuls erreur que j'ai, c'est quand je le fait exprès
</Phantonium>

Mammouth du PHP | 2703 Messages

15 janv. 2017, 23:06

la seule chose qui permet de ne pas avoir une page blanche, c'est :
echo 'vous êtes déjà connecté !';
dans les autres cas, il n'y a pas de echo ou redirection, donc page blanche.

Avatar du membre
Eléphanteau du PHP | 10 Messages

16 janv. 2017, 06:41

Le echo ne s'affiche pas, et la redirection n'envoie nulle part
</Phantonium>

Avatar du membre
Eléphanteau du PHP | 10 Messages

16 janv. 2017, 07:01

C'est bon, j'ai trouvé la solution, sa ma l'aire bizarre, mais sa fonctionne. J'ai juste mis la ligne pour me connecté dans le fichier PHP,
car avant elle était dans un dossier include.
</Phantonium>