5546 sujets

Sémantique web et HTML

Bonjour, j'ai essayé de faire un upload d'image mais quand je lance la page ça me sort "Cette page ne fonctionne pasImpossible de traiter cette demande via localhost à l'heure actuelle.
HTTP ERROR 500"
je voudrais savoir ou est mon erreur car je pense que ça doit etre une erreur de syntaxe que je n'arrive pas a trouver.
Merci d'avance
voici mon code :


<div class="informations">
  <div align="center">
         
         <div align="left">
            <form method="POST" action="" enctype="multipart/form-data">
              
              <label> Envoyez votre reçus de versement </label>
              <input type="file" name="recus"/>
               <input type="submit" value="Mettre à jour mon profil !" />
            </form>
           
         </div>
      </div>



<?php
session_start();
 
$bdd = new PDO('mysql:host=127.0.0.1;dbname=basedd', 'root', 'root');
 
if(isset($_SESSION['Id'])) {
   $requser = $bdd->prepare("SELECT * FROM clients WHERE Id = ?");
   $requser->execute(array($_SESSION['Id']));
   $user = $requser->fetch();
   
   
   }
   if(isset($_FILES['recus']) AND !empty($_FILES['recus']['name']))
   {
      $tailleMax = 3000000 ;
      $extensionValides = array('jpg', 'jpeg', 'png','gif');
      if($_FILES['recus']['size'] <= $tailleMax)
      {
        $extensionUpload = strtolower(substr(strrchr($_FILES['recus']['name'], '.'), 1));
        if(in_array($extensionUpload, $extensionValides)){
         $chemin = "photos/recus/".$_SESSION['Id'].".".$extensionUpload;
         $resulat = move_uploaded_file($_FILES['recus']['tmp_name'], $chemin);
         if($resulat)
         {
            $updaterecus = $bdd - > prepare('UPDATE clients SET  recus = :recus WHERE Id = :Id');
            $updaterecus - > execute(array('recus' => $_SESSION['Id'].".".$extensionUpload,
               "Id"=> $_SESSION["Id"]

            )); 
             header('Location: profil.php?id='.$_SESSION['Id']);
           

         }
         else{ $msg = "ereur importation "}


        }
         else{
            $msg = "format non valide"
         }

      }
      else{ $msg = "votre image est trop volimineuse"}
   }

?>
Modérateur
Bonjour,

Oui, ce sont des erreurs de syntaxes.

Par exemple, on n'écrit pas "$bdd - > prepare..." mais "$bdd->prepare...". Il faut retirer les espaces dans " - > ". L'erreur est plusieurs fois dans le code.

Vers la fin, il y a aussi plusieurs instructions sans ";" à la fin. En php, il vaut mieux mettre des ; à la fin de chaque instruction.

Amicalement,