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

Bonjour, hier j'ai crée un système d'inscription et de connexion sur mon site internet avec des pages php (j'utilise MAMP). J'ai crée une page d'inscription et une page de connexion, quand je clique dessus, tout se passe bien, les deux pages s'ouvrent correctement, cependant lorseque je tente une connexion ou une inscription cela m'affiche une page avec écrit "Impossible de traiter cette demande via localhost à l'heure actuelle. HTTP ERROR"



Merci beaucoup et bonne soirée

5 réponses

Résumé de la discussion

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.

Bobot (l’IA à votre service)
  1. 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>
    
    0
    1. Modérateur
      Donc, on reprend dans l'ordre...
      Lorsque tu essayes de te connecter, tu arrives donc sur la page connexion.php
      As tu encore ( avec le code que je t'ai donné) une erreur 500 ?
      0
    2. @jordane45Oui lorsque je clique pour me connecter et que ça me renvoie vers la page connexion.php j'ai une erreur 500
      0
    3. @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";
      ?>
      
      0
    4. 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 ) ) ...
      0