par
Merydian » 15 nov. 2021, 18:42
Alors, j'ai fermé la balise comme tu me l'as dit.
Oui j'ai corrigé l'erreur de la fonction execute()
Mais maintenant j'en suis ici.
et j'ai télécharger les extensions nécessaires pour avoir les erreurs.
Dans mon fichier ''Database.php'' le ''array'' après le $user_name est une erreur.
Dans mon fichier ''head.php'' c'est le ''display_errors = On'' qui est une erreur.
Et pour le coup non j'ai pas essayé d'exécuter mes requêtes directement en base de données haha car je ne sais pas comment faire ^^'
DataBase.php
<?php
// Pour lier la base de données au code et permet d'afficher une erreur à l'écran si ça bug
$users = 'mysql:dbname=Forum;host=10.0.9.110';
$user_pseudo = 'googleguy';
$user_password = 'googleguy';
/*
L'utilisation des blocs try/catch autour du constructeur est toujours valide
même si nous définissons le ERRMODE à WARNING sachant que PDO::__construct
va toujours lancer une exception PDOException si la connexion échoue.
*/
try {
$users = new PDO($user_pseudo, $user_firstname, $user_password, $user_lastname array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
echo 'Échec de la connexion : ' . $e->getMessage();
exit;
}
// Ceci fera que PDO lancera une erreur de niveau E_WARNING au lieu d'une exception (lorsque la table n'existe pas)
$users->query("SELECT wrongcolumn FROM wrongtable");
?>
head.php
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
error_reporting = E_ALL
display_errors = On
?>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Lien join (CSS) -->
<link href="
https://cdn.jsdelivr.net/npm/bootstrap@ ... ap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<!-- Lien join (CSS) -->
<script src="
https://cdn.jsdelivr.net/npm/bootstrap@ ... dle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<title>Document</title>
</head>
signupAction.php
<!-- Vérification et les requêtes -->
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<?php
require('actions/database.php');
if(isset($_POST['validate'])){
if(!empty($_POST['pseudo']) AND !empty($_POST['lastname']) AND !empty($_POST['firstname']) AND !empty($_POST['Password'])){
// Bloque l'accès à du code HTML ou autre et crypte les mdp
echo("CHAMPS COMPLÉTÉS");
$user_pseudo = htmlspecialchars($_POST['pseudo']);
echo($user_pseudo);
$user_lastname = htmlspecialchars($_POST['lastname']);
echo($user_lastname);
$user_firstname = htmlspecialchars($_POST['firstname']);
echo($user_firstname);
$user_password = password_hash($_POST['mdp'], PASSWORD_DEFAULT);
echo($user_Password);
// permet de récupérer les informations de l'utilisateur.
$checkIfUserAlreadyExists = $bdd->prepare('SELECT pseudo FROM users WHERE pseudo = ?');
$checkIfUserAlreadyExists->excute(array($user_pseudo, $user_firstname, $user_pseudo));
// pour savoir si l'utilisateur existe déjà et sinon pour l'insérer dans la base de données
if($checkIfUserAlreadyExists->rowCount() == 0){
echo("OK");
$insertUserOnWebsite = $bdd->prepare('INSERT INTO users(pseudo, lastname, firstname, mdp)VALUES(?, ?, ?, ?)');
$insertUserOnWebsite->excute(array($user_pseudo, $user_lastname, $user_firstname, $user_password));
}else{
$errorMsg = "l'utilisateur existe déjà sur le site";
}
}else{
$errorMsg = "Veuillez compléter la fiche d'inscription...";
}
}
?>
signup.php
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<!-- inclus les fichiers nécessaires -->
<?php require ('actions/signupAction.php'); ?>
<!DOCTYPE html>
<html lang="en">
<?php include 'includes/head.php'; ?>
<body>
<br></br>
<!-- permet de créer les champs et d'afficher le message d'erreur -->
<form class ="container" method="POST">
<?php if(isset($errorMsg)){ echo '<p>'.$errorMsg.'</p>'; } ?>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Pseudo</label>
<input type="text" class="form-control" name="pseudo">
</div>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Nom</label>
<input type="text" class="form-control" name="lastname">
</div>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Prénom</label>
<input type="text" class="form-control" name="firstname">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">mdp</label>
<input type="password" class="form-control" name="Password">
</div>
<button type="submit" class="btn btn-primary" name="validate">S'inscrire</button>
</form>
</body>
</html>
Alors, j'ai fermé la balise comme tu me l'as dit.
Oui j'ai corrigé l'erreur de la fonction execute()
Mais maintenant j'en suis ici.
et j'ai télécharger les extensions nécessaires pour avoir les erreurs.
Dans mon fichier ''Database.php'' le ''array'' après le $user_name est une erreur.
Dans mon fichier ''head.php'' c'est le ''display_errors = On'' qui est une erreur.
Et pour le coup non j'ai pas essayé d'exécuter mes requêtes directement en base de données haha car je ne sais pas comment faire ^^'
DataBase.php
<?php
// Pour lier la base de données au code et permet d'afficher une erreur à l'écran si ça bug
$users = 'mysql:dbname=Forum;host=10.0.9.110';
$user_pseudo = 'googleguy';
$user_password = 'googleguy';
/*
L'utilisation des blocs try/catch autour du constructeur est toujours valide
même si nous définissons le ERRMODE à WARNING sachant que PDO::__construct
va toujours lancer une exception PDOException si la connexion échoue.
*/
try {
$users = new PDO($user_pseudo, $user_firstname, $user_password, $user_lastname array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
} catch (PDOException $e) {
echo 'Échec de la connexion : ' . $e->getMessage();
exit;
}
// Ceci fera que PDO lancera une erreur de niveau E_WARNING au lieu d'une exception (lorsque la table n'existe pas)
$users->query("SELECT wrongcolumn FROM wrongtable");
?>
head.php
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
error_reporting = E_ALL
display_errors = On
?>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Lien join (CSS) -->
<link href="https://cdn.jsdelivr.net/npm/
[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<!-- Lien join (CSS) -->
<script src="https://cdn.jsdelivr.net/npm/
[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<title>Document</title>
</head>
signupAction.php
<!-- Vérification et les requêtes -->
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<?php
require('actions/database.php');
if(isset($_POST['validate'])){
if(!empty($_POST['pseudo']) AND !empty($_POST['lastname']) AND !empty($_POST['firstname']) AND !empty($_POST['Password'])){
// Bloque l'accès à du code HTML ou autre et crypte les mdp
echo("CHAMPS COMPLÉTÉS");
$user_pseudo = htmlspecialchars($_POST['pseudo']);
echo($user_pseudo);
$user_lastname = htmlspecialchars($_POST['lastname']);
echo($user_lastname);
$user_firstname = htmlspecialchars($_POST['firstname']);
echo($user_firstname);
$user_password = password_hash($_POST['mdp'], PASSWORD_DEFAULT);
echo($user_Password);
// permet de récupérer les informations de l'utilisateur.
$checkIfUserAlreadyExists = $bdd->prepare('SELECT pseudo FROM users WHERE pseudo = ?');
$checkIfUserAlreadyExists->excute(array($user_pseudo, $user_firstname, $user_pseudo));
// pour savoir si l'utilisateur existe déjà et sinon pour l'insérer dans la base de données
if($checkIfUserAlreadyExists->rowCount() == 0){
echo("OK");
$insertUserOnWebsite = $bdd->prepare('INSERT INTO users(pseudo, lastname, firstname, mdp)VALUES(?, ?, ?, ?)');
$insertUserOnWebsite->excute(array($user_pseudo, $user_lastname, $user_firstname, $user_password));
}else{
$errorMsg = "l'utilisateur existe déjà sur le site";
}
}else{
$errorMsg = "Veuillez compléter la fiche d'inscription...";
}
}
?>
signup.php
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<!-- inclus les fichiers nécessaires -->
<?php require ('actions/signupAction.php'); ?>
<!DOCTYPE html>
<html lang="en">
<?php include 'includes/head.php'; ?>
<body>
<br></br>
<!-- permet de créer les champs et d'afficher le message d'erreur -->
<form class ="container" method="POST">
<?php if(isset($errorMsg)){ echo '<p>'.$errorMsg.'</p>'; } ?>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Pseudo</label>
<input type="text" class="form-control" name="pseudo">
</div>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Nom</label>
<input type="text" class="form-control" name="lastname">
</div>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Prénom</label>
<input type="text" class="form-control" name="firstname">
</div>
<div class="mb-3">
<label for="exampleInputPassword1" class="form-label">mdp</label>
<input type="password" class="form-control" name="Password">
</div>
<button type="submit" class="btn btn-primary" name="validate">S'inscrire</button>
</form>
</body>
</html>