Impossible de traiter cette demande via localhost à l'heure actuelle. HTTP ERROR

Merci beaucoup et bonne soirée
5 réponses
Une page de connexion et d'inscription gérée en PHP sur un serveur local MAMP affiche une erreur HTTP 500 lors de la soumission des formulaires, rendant impossible le traitement des demandes d'inscription ou de connexion. Plusieurs limites potentielles sont évoquées, notamment un souci de configuration serveur, un fichier .htaccess, un placement incorrect des fichiers dans htdocs vs sous-dossier, et des encodages UTF-8. Des conseils techniques incluent tester sans require, vérifier le code dans connexion.php, tester le serveur avec un fichier minimal, vérifier l'encodage UTF-8 et l'utilisation des requêtes préparées. Enfin, les échanges soulignent que le souci peut venir de la structure du projet (dossier dédié), du code d'authentification et du partage des fichiers, sans conclure sur l'état final du fil.
-
Lorsque j'ai le message d'erreur j'ai soit l'url "http://localhost/connexion.php" si a la base je souhaite me connecter, sinon j'ai "http://localhost/inscription_traitement.php" si je souhaite m'inscrire
Voici mon code de la page inscription_traitement<?php require_once 'config.php'; if(isset($_POST['pseudo']) && isset($_POST['email']) && isset($_POST['password']) && isset($_POST['password_retype'])) { $pesudo = htmlspecialchars($_POST['pseudo']); $email = htmlspecialchars($_POST['email']); $password = htmlspecialchars($_POST['password']); $password_retype = htmlspecialchars($_POST['password_retype']); $check = bdd->prepare('SELECT pseudo, email, password FROM utilisateur WHERE email=?'); $check->execute(array($email)); $data = $check->fetch(); $row = $check->rowCount(); if($row == 0) { if(strlen($pseudo) <= 100) { if (strlen($email) <= 100) { if(filter_var($email, FILTER_VALIDATE_EMAIL)) { if($password == password_retype) { $password = hash('sah256', $password); $ip = $_SERVER['REMOTE_ADDR']; $insert = $bdd->prepare('INSERT INTO utilisateur(pseudo, email, password, ip)VALUES(:pseudo, :email, :password, :ip)') $insert->execute(array( 'pseudo' => $pseudo, 'email' => $email, 'password' => $password, 'ip' => $ip )); header('Location:http://localhost/inscription.php?reg_err=success'); }else header('Location: inscription.php?reg_err=password'); }else header('Location: inscription.php?reg_err=email') }else header('Location: inscription.php?reg_err=email_lenght'); }else header('Location: inscription.php?reg_err=pseudo_lenght'); }else header('Location: inscription.php?reg_err=already'); } ?>
Voici ma page index.php<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="author" content="NoS1gnal"/> <link href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> <title>Connexion</title> </head> <body> <div class="login-form"> <?php if(isset($_GET['login_err'])) { $err = htmlspecialchars($_GET['login_err']); switch ($err) { case 'password': ?> <div class="alert alert -danger"> <strong>Erreur</strong> mot de passe incorrect </div> <?php break; case 'email': ?> <div class="alert alert -danger"> <strong>Erreur</strong> email de passe incorrect </div> <?php break; case 'already': ?> <div class="alert alert -danger"> <strong>Erreur</strong> compte inexistant </div> <?php break; } } ?> <form action="connexion.php" method="post"> <h2 class="text-center">Connexion</h2> <div class="form-group"> <input type="email" name="email" class="form-control" placeholder="Email" required="required" autocomplete="off"> </div> <div class="form-group"> <input type="password" name="password" class="form-control" placeholder="Mot de passe" required="required" autocomplete="off"> </div> <div class="form-group"> <button type="submit" class="btn btn-primary btn-block">Connexion</button> </div> </form> <p class="text-center"><a href="inscription.php">Inscription</a></p> </div> <style> .login-form { width: 340px; margin: 50px auto; } .login-form form { margin-bottom: 15px; background: #f7f7f7; box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); padding: 30px; } .login-form h2 { margin: 0 0 15px; } .form-control, .btn { min-height: 38px; border-radius: 2px; } .btn { font-size: 15px; font-weight: bold; } </style> </body> </html>
Ma page connexion.php j'ai seulement ce que vous m'aviez mis tout à l'heure du coup
<?php //Démarrage des sessions session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require_once 'config.php'; echo " OK"; ?>
Et voici ma page inscription.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="author" content="NoS1gnal"/> <link href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> <title>Connexion</title> </head> <body> <div class="login-form"> <?php if(isset($_GET['reg_err'])) { $err = htmlspecialchars($_GET['reg_err']); switch($err) { case 'success' : ?> <div class="alert alert -success"> <strong>Succès</strong>inscription réussie! </div> <?php break; case 'password' : ?> <div class="alert alert -danger"> <strong>Erreur</strong>mot de passe différent </div> <?php break; case 'email' : ?> <div class="alert alert -danger"> <strong>Erreur</strong>email non valide </div> <?php break; case 'email_lenght' : ?> <div class="alert alert -danger"> <strong>Erreur</strong>email trop long </div> <?php break; case 'pseudo_lenght' : ?> <div class="alert alert -danger"> <strong>Erreur</strong> pseudo trop long </div> <?php break; case 'already' : ?> <div class="alert alert -danger"> <strong>Erreur</strong>compte déjà existant </div> <?php } } ?> <form action="inscription_traitement.php" method="post"> <h2 class="text-center">Inscription</h2> <div class="form-group"> <input type="text" name="pseudo" class="form-control" placeholder="Pseudo" required="required" autocomplete="off"> </div> <div class="form-group"> <input type="email" name="email" class="form-control" placeholder="Email" required="required" autocomplete="off"> </div> <div class="form-group"> <input type="password" name="password" class="form-control" placeholder="Mot de passe" required="required" autocomplete="off"> </div> <div class="form-group"> <input type="password" name="password_retype" class="form-control" placeholder="Re-tapez le mot de passe" required="required" autocomplete="off"> </div> <div class="form-group"> <button type="submit" class="btn btn-primary btn-block">Inscription</button> </div> </form> </div> <style> .login-form { width: 340px; margin: 50px auto; } .login-form form { margin-bottom: 15px; background: #f7f7f7; box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); padding: 30px; } .login-form h2 { margin: 0 0 15px; } .form-control, .btn { min-height: 38px; border-radius: 2px; } .btn { font-size: 15px; font-weight: bold; } </style> </body> </html>-
-
@jordane45Oui lorsque je clique pour me connecter et que ça me renvoie vers la page connexion.php j'ai une erreur 500
-
Modérateur@TaijinVérifie que tes fichiers sont bien encodé en UTF-8 sans bom
Voir chapitre 1 du lien suivant
https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
N'hésite pas à recréer un nouveau fichier pour remplacer l'existant et ainsi être sûr que tu es dans le bon en collage
Ensuite refait l'essai en mettant en commentaire la ligne du require...
Et dis-moi si tu as toujours l'erreur 500... -
@jordane45J'ai bien recréé une nouvelle page et vérifié que j'étais en UTF- 8 cependant cela ne fonctionne toujours pas
Voici ma page connexion.php<?php //Démarrage des sessions session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require_once 'config.php'; echo " OK"; ?> -
Modérateur@TaijinJe t'ai demandé de tester sans le require.
l'as tu fait ?
En gros, dans ton fichier connexion.php tu ne gardes que :<?php //Démarrage des sessions session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); // require_once 'config.php'; echo " OK"; ?>
puis tu essayes d'accéder à cette page et tu nous dis si tu as encore une erreur 500 ...
Si oui... c'est que tu as un souci de config sur ton serveur...
n'aurais tu pas mis en place un fichier .htaccess ??
Pourrais tu essayer de déplacer ton projet dans un sous dossier de ton dossier web ? car j'ai l'impression que tu as mis tes fichiers directement dans le htdocs ( ou www selon le logiciel utiliser pour émuler le serveur web ) ) ...
-