PHP

Impossible de connecter ma base de donnée PHP

Non Résolu

Bonjour, cela fait deux jours que j'essaye de connecter ma base de donnée à mon site mais rien à faire. Ça ne marche pas. Je n'ai même pas de message d'erreur disant que j'ai une erreur. Il n'y a tout simplement aucunes interactions ou liens entre ma base de donnée et mon site. J'ai recommencé mon site depuis le début en recopiant bien tous les codes à l'identique.

J'ai consulté le forum mais je n'ai rien trouvé de similaire.


Savez-vous si il faut faire des réglages sur l'ordinateur (je suis sur mac), sur sublime text, sur phpmyadmin, sur Sequel pro ou Mamp ou sur n'importe quoi car je ne vois que ça comme étant la possible cause du problème.


Je ne trouve pas la solution par moi même c'est pourquoi je vous demande votre aide.


Merci d'avance !

1663 vues
21 juillet 2020 à 16:36 (Édité)
Cette pub permet au site de vivre ...

45 commentaires

Re @Jerem971


Je n'arrive pas à mettre de photo, il me demande sans cesse l'URL mais je n'ai que mes photos en png. Je vous copie colle le lien.

Vous trouverez le code des pages connexion.php et inscription.php.


Merci d'avance 😀


connexion.php


<?php
 // Déclaration d'une nouvelle classe
 class connexionDB {
private $host  = 'localhost'// nom de l'host 
private $name  = 'site1';  // nom de la base de donnée
private $user  = 'root';   // utilisateur 
private $pass  = 'root';   // mot de passe (il faudra peut-être mettre '' sous Windows)
private $connexion;

function __construct($host = null, $name = null, $user = null, $pass = null){
if($host != null){
    $this->host = $host;      
    $this->name = $name;      
    $this->user = $user;     
    $this->pass = $pass;
}
try{
  $this->connexion = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name,
$this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES UTF8MB4', 
PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
 }catch (PDOException $e){
    echo 'Erreur : Impossible de se connecter à la BDD !';
die();
}
}

public function connexion(){
return $this->connexion;
}
 }
 
 $DB = new connexionDB;
 
 $BDD = $DB->connexion();
 
?>


inscription.php


<?php
session_start();
include_once('db/connexiondb.php');

if(isset($_SESSION['id'])){
header('Location: /');
exit;
}

if(!empty($_POST)){
extract($_POST);
$valid = (boolean) true;

if(isset($_POST['inscription'])){
$pseudo = (String) trim($pseudo);
$mail = (String) strtolower(trim($mail));
$password = (String) trim($password);
$jour = (int) $jour;
$mois = (int) $mois;
$annee = (int) $annee;
$departement = (String) trim($departement);
$date_naissance = (String) null;

if(empty($pseudo)){
$valid = false;
$err_pseudo = "Veuillez renseigner ce champs !";
}else{
$req = $BDD->prepare("SELECT id
FROM utilisateur 
WHERE pseudo = ?");

$req->execute(array($pseudo));
$utilisateur = $req->fetch();

if(isset($utilisateur['id'])){
$valid = false;
$err_pseudo = "Ce pseudo existe déjà";
}
}

if(empty($mail)){
$valid = false;
$err_mail = "Veuillez renseigner ce champs !";
}else{
$req = $BDD->prepare("SELECT id
FROM utilisateur 
WHERE mail = ?");

$req->execute(array($mail));
$utilisateur = $req->fetch();

if(isset($utilisateur['id'])){
$valid = false;
$err_mail = "Ce mail existe déjà";
}
}

if(empty($password)){
$valid = false;
$err_password = "Veuillez renseigner ce champs !";
}

if($jour <= 0 || $jour > 31){
$valid = false;
$err_jour = "Veuillez renseigner ce champs jour !";
}

$verif_mois = array(1, 2, 3);

if(!in_array($mois, $verif_mois)){
$valid = false;
$err_mois = "Veuillez renseigner ce champs mois !";
}

$verif_annee = array(1990, 2000, 3);

if(!in_array($annee, $verif_annee)){
$valid = false;
$err_annee = "Veuillez renseigner ce champs annee !";
}

if(!checkdate($mois, $jour, $annee)){
$valid = false;
$err_date = "Date fausse";
}else{
$date_naissance = $annee . '-' . $mois . '-' . $jour;
}


$req = $BDD->prepare("SELECT departement_id
FROM departement
WHERE departement_code = ?");
$req->execute(array($departement));

$verif_departement = $req->fetch();

if(!isset($verif_departement['departement_id'])){
$valid = false;
$err_departement = "Veuillez renseigner ce champs !";
}

if($valid){
$date_inscription = date("Y-m-d h:m:s");

$password = crypt($password, '$6$rounds=5000$H4eoaj87enek72Ondehb923Ybelman82jn83nN31O$');

$req = $BDD->prepare("INSERT INTO utilisateur (pseudo, mail, password, date_naissance, departement, date_inscription, date_connexion) 
VALUES (?, ?, ?, ?, ?, ?, ?)");

$req->execute(array($pseudo, $mail, $password, $date_naissance, $departement, $date_inscription, $date_inscription));

header('Location: /');
exit;
}
}
}
?>
<!doctype html>
<html lang="fr">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

<link rel="stylesheet" href="style.css">
<title>Connexion</title>
</head>
<body>
<?php
require_once('menu.php');
?>

<h1>Inscription</h1>

<form method="post">
<section>
<div>
<?php
if(isset($err_pseudo)){
echo $err_pseudo;
}
?>
<input type="text" name="pseudo" placeholder="Pseudo" value="<?php if(isset($pseudo)){ echo $pseudo;} ?>">
</div>
<div>
<?php
if(isset($err_mail)){
echo $err_mail;
}
?>
<input type="text" name="mail" placeholder="Mail" value="<?php if(isset($mail)){ echo $mail;} ?>">
</div>
<div>
<?php
if(isset($err_password)){
echo $err_password;
}
?>
<input type="password" name="password" placeholder="Mot de passe" value="<?php if(isset($password)){ echo $password;} ?>">
</div>
<div>
<?php
if(isset($err_jour)){
echo $err_jour;
}
if(isset($err_mois)){
echo $err_mois;
}
if(isset($err_annee)){
echo $err_annee;
}
if(isset($err_date)){
echo $err_date;
}
?>
<select name="jour">
<?php
for($i = 1; $i <= 31; $i++){
?>
<option value="<?= $i ?>"><?= $i ?></option>
<?php
}
?>
</select>
<select name="mois">
<option value="1">Janvier</option>
<option value="2">Février</option>
</select>
<select name="annee">
<option value="1990">1990</option>
<option value="2000">2000</option>
</select>
</div>
<div>
<?php
if(isset($err_departement)){
echo $$err_departement;
}
?>
<select name="departement">
<?php
if(isset($departement)){
$req = $BDD->prepare("SELECT departement_code, departement_nom
FROM departement
WHERE departement_code = ?");
$req->execute(array($departement));
$voir_departement = $req->fetch();
?>
<option value="<?= $voir_departement['departement_code'] ?>"><?= $voir_departement['departement_nom'] ?></option>
<?php
}

$req = $BDD->prepare("SELECT departement_code, departement_nom
FROM departement");
$req->execute();
$voir_departement = $req->fetchAll();

foreach($voir_departement as $vd){
?>
<option value="<?= $vd['departement_code'] ?>"><?= $vd['departement_nom'] ?></option>
<?php
}
?>
</select>
</div>
</section>

<input type="submit" name="inscription" value="S'inscrire">
</form>

<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>
</html>

Re:


Très bien ! 😉

Est-ce que tu peux nous montrer ton code ? 🤔 On va essayer de débug 😁

Bonjour @Jerem971,


Tout d'abord merci pour ton retour. Oui, je commence ça fait deux semaines que je suis à fond dedans. Je m'y connais un peu plus en html et css mais mon niveau en php est faible. Cependant, j'ai tout revérifier plusieurs fois, j'ai tenté d'autres choses mais ça ne marche pas. Pour l'instant j'ai dû passé facilement 10-12 heures sur le problème.

Oui j'ai télécharger les codes mais même comme ça ne marche et j'ai aussi vérifié les identifiants de connexion et ils sont identiques.

Hello @thibault,


Tout d'abord, les compétences sur ton profil indique clairement ton niveau sur les langages web ? 🤔 Cela nous aiderait beaucoup 😉


Pour ton problème, voilà quelques indications :


  • Il ne faut plus utiliser Wamp, voilà la raison 😉
  • As-tu vérifier que tes identifiants dans ton code correspondent à ceux de ta base de données ? 🤔
  • As-tu télécharger le code source de l'article de formation en question en cliquant sur "Obtenir le code" puis "Télécharger le code" ? 🤔


Dans l'attente de ton retour 😉

Cette pub permet au site de vivre ...
1
...
4
5