Plusieurs erreur que je ne vois pas
Résolu
MrAkiroKun
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
il y a dans mon script surement quelques erreurs, et je voudrais que vous m'aidiez à les trouver, le voici :
Merci à toutes à tous !
il y a dans mon script surement quelques erreurs, et je voudrais que vous m'aidiez à les trouver, le voici :
<?php
include('../includes/config.php');
if(isset($_SESSION['pseudo'])){
header('Location:../Projet_Octopus/index.php');
}
if(isset($_POST['envoyer'])){
if(isset($_POST['pseudo']) AND !empty($_POST['pseudo']) AND isset($_POST['email']) AND !empty($_POST['email']) AND isset($_POST['password']) AND !empty($_POST['password']) AND isset($_POST['password2']) AND !empty($_POST['password2']))
{
//Tous les champs ont été remplis
$pseudo = $_POST['pseudo'];
$email = strtolower($_POST['email']);
$link_img = "http://www.gravatar.com/avatar/" . md5($email);
$password = md5($_POST['password']);
$password2 = md5($_POST['password2']);
$longueur_pseudo = strlen($pseudo);
if($longueur_pseudo<=30)
{
//Le pseudo respecte le format
if($password == $password2)
{
//Les mots de passe sont identique
$query = $DB->prepare('INSERT INTO membres(pseudo, email, password, link_img) VALUES (:pseudo, :email, :password, :link_img)');
$query->execute(array(
'pseudo' => $pseudo,
'email' => $email,
'password' => $password,
'link_img' => $link_img
));
$sucess = "Vous êtes désormais inscrit ! Vous pouvez vous connecter <a href='/'>ici</a> !";
$dir = strtolower("../users/".$pseudo);
$content = "<p>Page personnel</p>";
if($pseudo)
{
mkdir($dir);
$open = fopen($dir."/index.php", "w"); // tu as plusieurs mode d'ouverture regarde sur internet (W write, R read)
fwrite($open, $content);
fclose($open);
}
else
{
header('location:index.php');
}
header('location:index.php');
}
else
{
$erreur = "Les mots de passe ne correspondent pas !";
}
}
else
{
$erreur = "Le pseudo ne doit contenir que 30 caractère maximum !";
}
}
}
else
{
$erreur = "Tous les champs sont obligatoire !";
}
?>
<html lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="../ico/favicon.ico">
<title>Projet Octopus | HOME</title>
<!-- Bootstrap core CSS -->
<link href="../css/carousel.css" rel="stylesheet">
<link href="../css/bootstrap.min.css" rel="stylesheet">
<!-- JS Scripts -->
<script src="../js/ie-emulation-modes-warning.js"></script>
<script src="../js/ie10-viewport-bug-workaround.js"></script>
<link href="../css/carousel.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href=""><i class="glyphicon glyphicon-tower"></i> Projet Octopus</a>
</div>
</div>
</nav>
<div class="container">
<br />
<br />
<br />
<br />
<div class="col-md-6"><img src="../img/screen_index.jpg" alt="Octopus Social Network" /></div>
<div class="col-md-6">
<h1>Inscription</h1>
<form action="index.php" method="post">
<div class="form-group">
<input type="text" name="pseudo" class="form-control" placeholder="pseudo" value="<?php if(isset($_POST['pseudo'])){ echo $_POST['pseudo'];} ?>"><br/>
<input type="email" name="email" class="form-control" placeholder="Email (Exemple: xyz@exemple.com)"><br/>
<input type="password" name="password" class="form-control" placeholder="Mot de passe"><br/>
<input type="password" name="password2" class="form-control" placeholder="Mot de passe (Confirmation)">
</div>
<button type="submit" name="envoyer" class="btn btn-success">S'inscrire</button><br/>
<a href="../">Vous avez déja un compte ?</a>
</form>
</div>
<?php if(isset($sucess)){ echo "<div class='alert alert-success alert-dismissible' role='alert'>
<button type='button' class='close' data-dismiss='alert'><span aria-hidden='true'>×</span><span class='sr-only'>Close</span></button>".$sucess."</div>";} ?>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/docs.min.js"></script>
</body>
</html>
Merci à toutes à tous !
A voir également:
- Plusieurs erreur que je ne vois pas
- Je ne vois pas ma story snapchat ✓ - Forum Snapchat
- Ma story n'affiche pas les vues ni les screens - Forum Réseaux sociaux
- Je ne vois pas tous les amis en commun sur facebook - Forum Facebook
- Pourquoi je ne vois plus actif il y a ✓ - Forum Facebook Messenger
- Pourquoi je ne vois plus les publications d'un ami facebook - Forum Facebook
5 réponses
Salut,
Pas d'erreur de syntaxe dans ton code, quelques petites remarques en vrac :
- ajoute l'instruction exit(); après chaque redirection php (header('location...) : puisqu'on change de page, pas besoin d'exécuter le reste du code
- la fonction empty, qui permet de savoir si une variable est vide, vérifie aussi l'existence d'une variable. Il est donc inutile d'utiliser isset avant empty.
- préfère l'utilisation des opérateurs logique && et || à la place de AND et OR en php (cf. https://www.php.net/manual/fr/language.operators.logical.php :
- le md5 pour crypter les mots de passe n'est pas recommandé. Se tourner vers la nouvelle API de hashage de php (password_hash, password_verify...) ou vers la fonction crypt().
- pour gérer les pages perso de tes membres, tu crées un dossier pour chacun. Si tu veux utiliser le coté dynamique de php, tu pourrais créer une seule page user.php qui afficherais la page perso de l'utilisateur connecté (en fonction des variables de session par exemple).
Bonne journée
Pas d'erreur de syntaxe dans ton code, quelques petites remarques en vrac :
- ajoute l'instruction exit(); après chaque redirection php (header('location...) : puisqu'on change de page, pas besoin d'exécuter le reste du code
- la fonction empty, qui permet de savoir si une variable est vide, vérifie aussi l'existence d'une variable. Il est donc inutile d'utiliser isset avant empty.
- préfère l'utilisation des opérateurs logique && et || à la place de AND et OR en php (cf. https://www.php.net/manual/fr/language.operators.logical.php :
if (!empty($_POST['pseudo']) && !empty($_POST['email']) && !empty($_POST['password']) && !empty($_POST['password2'])) {
- le md5 pour crypter les mots de passe n'est pas recommandé. Se tourner vers la nouvelle API de hashage de php (password_hash, password_verify...) ou vers la fonction crypt().
- pour gérer les pages perso de tes membres, tu crées un dossier pour chacun. Si tu veux utiliser le coté dynamique de php, tu pourrais créer une seule page user.php qui afficherais la page perso de l'utilisateur connecté (en fonction des variables de session par exemple).
Bonne journée
Merci pour toutes ces remarques, je vais modifier mon script grace à ton aide, mais la question initial était "Pourquoi ma requète SQL ne fonctionne pas ? :/"
Si tu ne pose pas ta question initiale on ne pourra pas la deviner ;)
Ta requête semble syntaxiquement correct. Commence par gérer les erreurs PDO pour récupérer le message d'erreur SQL : https://www.php.net/manual/fr/pdo.error-handling.php
Ta requête semble syntaxiquement correct. Commence par gérer les erreurs PDO pour récupérer le message d'erreur SQL : https://www.php.net/manual/fr/pdo.error-handling.php
Salut,
De mémoire la syntaxe ne serait pas :
????
Fab.
De mémoire la syntaxe ne serait pas :
INSERT INTO ta-table (champ1, champ2) VALUES ('valeur1', 'valeur2')
????
Fab.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question