Bonjour,

Je rencontre un petit problème avec mon code.

Ce que je fais

Je suis en train de coder un site web en PHP sur un serveur local (Wamp) et sur le site il y a un formulaire pour que les nouveaux utilisateurs s'enregistre.

Ce que je veux

Apres avoir remplie le formulaire, les données doivent etre sauvegarder dans la base de donnée et l'utilisateur doit etre dirigé vers la apge de login.

Ce que j'obtiens

Après l'envoie des données j'obtiens ceci sur ma page de register :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at wampserver@wampserver.invalid to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

Apache/2.4.46 (Win64) PHP/7.3.21 Server at localhost Port 80

Du coté de mon phpMyAdmin, les données sont belles et biens sauvegardées dans la base après l'envoi du formulaire.

Je rappel que pour l'instant il n'y a aucun fichier .htaccess sur mon site.

Merci d'avance pour vos aides.

6 réponses


Carouge10
Réponse acceptée

Bonsoir,
Pas de code, pas d'aide
Erreur 500 = désactivation de l'affichage des erreurs php
Donc pour t'aider, soit tu les actives, soit tu consultes les logs de ton serveur

kurdtkobane
Réponse acceptée

Bonjour,

Dans ton PDO tu as mis le port? 3306 si tu es en MySql et 3307 si tu es en MariaDB.

Olivieras
Auteur
Réponse acceptée

Voici ce que j'ai ecris pour me connecter à ma BD

<?php

$pdo = new PDO ('mysql:dbname=pta-ceb;host=localhost', 'root','');

$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);

Olivieras
Auteur
Réponse acceptée

J'ai essaiyé votre code mais le probleme n'est toujours pas résolu

J'ai une succession de tableau d'erreurs avec ce code

kurdtkobane
Réponse acceptée

Il manque le $ devant le pdo = new PDO .....

Le code corriger c'est:

<?php
/* Database Connection */

if (!function_exists('dbConnect')) {

  function dbConnect(){
    try{
      $pdo=new PDO("mysql:host=localhost;dbname=pta-ceb;charset=utf8","root","",
                  array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); 
    }
    catch(Exception $e){
      die('Erreur:'.$e->getMessage());  
    }
    return $pdo;
  }
}

Et si tu es sur mariaDB sur la ligne PDO tu dois avoir le port à ajouter:


$pdo=new PDO("mysql:host=localhost;dbname=pta-ceb;port:3307;charset=utf8","root","",
                  array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION)); 
Olivieras
Auteur
Réponse acceptée

Merci à tous pour vos aides.. J'ai finalement résolu le problème. C'était une erreur dans mon code au niveau de la redirection vers la page de login.