Page ne fonctionne pas [Résolu]

Signaler
-
Messages postés
16453
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 juillet 2021
-
Bonjour,
j'ai un problème avec un fichier php je ne sais pas d'où ça vient mais quand je vais sur mon site ça marque "Cette page ne fonctionne pas"

mon code :
<?php
header( 'content-type: text/html; charset=utf-8' );
//-----------------------------------------------//
// Affichage des erreurs PHP
//-----------------------------------------------//
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//-----------------------------------------------//
//connexion à la bdd
//-----------------------------------------------//
try{
  $bdd=new PDO("mysql:host=lesfonbamentom.mysql.db;dbname=lesfonbamentom;charset=utf8mb4","lesfonbamentom","motDePasse");
  // Activation des erreurs PDO
  $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
  $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
}catch(PDOException $e) {
  die('Erreur : ' . $e->getMessage());
}

//-----------------------------------------------//
//traitement du formulaire
//-----------------------------------------------//
if(isset($_GET['id'])){
    $art=$bdd-> prepare("SELECT * FROM books WHERE id=:id");
    $art->execute(array(':id'=>$_GET['id']));
    $edit=$art->fetch();
}

if (isset($_POST['OK'])){
    $taille = getimagesize($_FILES['photo']['tmp_name']);
    $imageName=$_FILES['photo']['name'];
    $largeur = $taille[0];
    $hauteur = $taille[1];
    $largeur_miniature = 500;
    $hauteur_miniature = $hauteur / $largeur * 500;
    
    switch ($taille[2]) {
        case 1:
            $im = imagecreatefromgif($_FILES['photo']['tmp_name']);
            break;
        case 2:
            $im = imagecreatefromjpeg($_FILES['photo']['tmp_name']);
            break;
        case 3:
            $im = imagecreatefrompng($_FILES['photo']['tmp_name']);
            break;
        default:
        echo 'Erreur!';
            break;
    }
    $im_miniature = imagecreatetruecolor($largeur_miniature, $hauteur_miniature);
    imagecopyresampled($im_miniature, $im, 0, 0, 0, 0, $largeur_miniature, $hauteur_miniature, $largeur, $hauteur);
    imagejpeg($im_miniature, 'images/'.$imageName, 90);



    //récupération propre des variables AVANT de les utiliser
  $titre = !empty($_POST['titre']) ? $_POST['titre']: NULL;
  $contenu = !empty($_POST['contenu']) ? $_POST['contenu']: NULL;
  $article_array=explode(" ", htmlspecialchars($contenu));

            $preface='';
            for($i=0;$i<20;$i++){
               if($article_array[$i]=='<img1>' OR $article_array[$i]=='<img2>' OR $article_array[$i]=='<img3>' OR $article_array[$i]=='<img4>'){
                  $article_array[$i]='';
               }
                $preface=$preface.' '.$article_array[$i];
            }
  $article_array2=explode(" ", $contenu);
  $article='';
  for($i=0;$i<count($article_array2);$i++){
          if($article_array2[$i]=="<img1>"){
              $article=$article.' <img src="/images/'. $_FILES['photo']['name'].'" alt="L\'image ne fonctionne visiblement pas mais 
              c\'est rien c\'est la rue.
              Passez une bonne journée ;)">';
          }elseif($article_array2[$i]=="<img2>"){
              $article=$article.' <img src="/images/'. $_FILES['photo2']['name'].'" alt="L\'image ne fonctionne visiblement pas mais 
              c\'est rien c\'est la rue.
              Passez une bonne journée ;)">';
          }elseif($article_array2[$i]=="<img3>"){
              $article=$article.' <img src="/images/'. $_FILES['photo3']['name'].'" alt="L\'image ne fonctionne visiblement pas mais 
              c\'est rien c\'est la rue.
              Passez une bonne journée ;)">';
          }elseif($article_array2[$i]=="<img4>"){
              $article=$article.' <img src="/images/'. $_FILES['photo4']['name'].'" alt="L\'image ne fonctionne visiblement pas mais 
              c\'est rien c\'est la rue.
              Passez une bonne journée ;)">';
          }else{
          if($article!=''){
                          $article=$article.' '.$article_array2[$i];
          }else{
              $article=$article_array2[$i];
          }
      }
  
      }

  if (isset($_POST['titre']) AND isset($article)){
    $sqlUpdate="UPDATE books SET title=:titre,resume=:contenu,img=:img WHERE id=:id";
    $datasUpdate=array(':titre'=>$titre, ':contenu'=>$article':img'=>$imageName,':id'=>$_GET['id']);
    $sql = "INSERT INTO books (id,title, resume,img,preface) VALUES (:id,:titre, :contenu,:img,:preface)";
    $datas = array(':id'=>NULL,':titre'=>$titre, ':contenu'=>$article,':img'=>$imageName,':preface'=>$preface);
    try{ 
        if(isset($_GET['id'])){
            $requete = $bdd -> prepare($sqlUpdate);
            $requete->execute($datasUpdate);
            $message="<font color=green>l'article à bien été modifié!</font><br>";
        }else{
            $requete = $bdd -> prepare($sql);
            $requete->execute($datas);
            $message="<font color=green>l'article à bien été envoyé!</font><br>";
        }
    }catch(Exception $e){
      // en cas d'erreur :
      echo " Erreur ! ".$e->getMessage();
      echo '<br>';
      echo " Les datas : " ;
      print_r($datas);
    }
    
  }
}



?>
<!DOCTYPE html>
<html>
  <head>
     <title>Test</title>
     <meta charset="utf-8">
     <style>
        td:nth-child(1) {
    text-align: right;
}
     </style>
  </head>
  <body>
  <pre>
    <u>pour mettre en les titres 2:</u>
                                <h2></h2>
    <u>pour mettre en italique:</u>
                            <i></i>
    <u>si tu veut juste mettre en bleu (ou jaune pour thème sombre):</u>
    <span class="highlight"></span>

    <u>pour mettre la conclusion:</u>
                                <b></b>
    <u>pour mettre un lien:</u>
                            <a href="là tu mets l'adresse de la page"></a>
    <u>pour faire une liste</u>
                            <ul>
                                <li></li>
                                <li></li>
                                <li></li>
                            </ul>
    </pre>
    <p style="position:absolute;top:50px;right:50px;color:red;font-size:40px;">mettre un espace avant les points d\'exclamation !</p>
   <form method="POST" action="" enctype="multipart/form-data">
   <table>
      <tr>
         <td><label>Titre:</label></td>
         <td><input value="<?php if(isset($edit['titre'])){echo $edit['titre'];}?>" type='text' name="titre" placeholder='Titre...'/></td>
         
      </tr>
      <tr>
         <td><label>Résume:</label></td>
         <td><textarea name="contenu" placeholder='Résume...'><?php if(isset($edit['contenu'])){echo $edit['contenu'];}?></textarea></td>
      </tr>
      <tr>
         <td><label>Image:</label></td>
         <td><input type="file" name="photo"></td>
      </tr>
      
     
      <tr>
         <td><label>Description:</label></td>
         <td><textarea name='description' placeholder='Description...'><?php if(isset($edit['description'])){echo $edit['description'];}?></textarea> </td>
      </tr>
      <tr>
         <td></td>
         <td><input type='submit' value='Envoyer!' name="OK"/></td>
      </tr>
   </table>
   </form>
   <?php
   if(isset($message)){
       echo $message;
   }
   ?>
   <a href="/admin_livres.php">voir les livres</a>
  </body>
</html>

j'éspere que vous pourrez m'aider

merci d'avance


Configuration: Windows / Chrome 91.0.4472.124

4 réponses

Messages postés
33144
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 juillet 2021
3 640
Bonjour,

Mets en commentaire une partie de ton code PHP et regarde si la page s'affiche ...
Si oui.. c'est que le souci se trouve dans la partie en commentaire ...
Il suffit d'affiner la zone en mettant en commentaire des petites parties du code ... (attention à bien conserver les accolades de tes différents IF / ELSE .. FOR .. sinon tu vas créer d'autres erreurs..

J'ai fais ce que vous m'avez dis et j'ai trouvé que l'erreure est dans les quatre lignes là :

$sqlUpdate="UPDATE books SET title=:titre,resume=:contenu,img=:img WHERE id=:id";
    $datasUpdate=array(':titre'=>$titre, ':contenu'=>$article':img'=>$imageName,':id'=>$_GET['id']);
    $sql = "INSERT INTO books (id,title, resume,img,preface) VALUES (:id,:titre, :contenu,:img,:preface)";
    $datas = array(':id'=>NULL,':titre'=>$titre, ':contenu'=>$article,':img'=>$imageName,':preface'=>$preface);


je ne trouve toujours pas qu'est-ce qui pose problème
C'est bon merci beaucoup il manquait juste une virgule à la deuxième ligne
Messages postés
16453
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 juillet 2021
880
bonjour,
d'autres pages fonctionnent?