L'insertion en php

Résolu
bidlag Messages postés 21 Statut Membre -  
bidlag Messages postés 21 Statut Membre -
Bonjour;
Possible qlq me dire qu'il est l'erreur dans ce code ; il m'affiche que les données bien enregistrer mes la base de donné ne reçois pas les données??
Cordialement;
<?php
//require"../sqlconnect.php";
$db = new PDO('mysql:host=localhost;dbname=sadatv', 'root', '',array (PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
echo' <meta charset="utf-8" />';
/**


* Created by PhpStorm.

* User: B.Youssef

* Date: 24/07/2015

* Time: 23:22

*/
    include '../Admin/accueilChange.php';
    echo '
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
<title>Ajout videotube</title>
</head>
<body>
<form method="post">
<select name="typevideo">
    <option>...</option>
    <option>??????</option>
    <option>????? ?? ????? </option>
    <option>??? ??????</option>
    <option>??????</option>
    <option>?????</option>
    <option>????</option>
    <option>???????</option>
    <option>???????</option>
    <option>spot</option>
</select>
<label>IFrame Vidéotube : </label><textarea name="lien"> </textarea>
<label>Titre Vidéotube : </label><input type="text" name="titrevideo" placeholder="titre de la vidéo">
<label>Image Vidéotube : </label><input type="file" name="image"><br><br/>
<input type="submit" name="ajout" value="Valider">
</form>
';
if(isset($_POST['ajout']))
{
    $image_name=$_FILES['image']['name'];
    $image_type=$_FILES['image']['type'];
    $image_size=$_FILES['image']['size'];
    $image_tmp_name=$_FILES['image']['tmp_name'];
    move_uploaded_file($image_tmp_name, "../Admin/imagevideostube/$image_name");
    //$db->exec('INSERT INTO videotube (id,lien) VALUES ("","'.$_POST['lien'].'")');
    $db->exec('INSERT INTO `videotube`(`id`, `lien`, `img`, `titre`, `typevideo`) VALUES  ("","'.$_POST['lien'].'","'.$image_name.'","'.$_POST['titrevideo'].'","'.$_POST['typevideo'].'")');

    echo'<script>alert("l\'ajout fait avec succés")</script>';
}
echo'</body></html>';



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Bonjour,

    Essayes ça :
    <?php
    
    //require"../sqlconnect.php";
    //-----------------------------------------------------------------------------------//
    //Connexion à la BDD
    //-----------------------------------------------------------------------------------//
    
    try{
      $db = new PDO('mysql:host=localhost;dbname=sadatv', 'root', '',array (PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
    }catch (PDOException $e) {
     printf("%s:%d %s (%d) [%s]\n", $e->getFile(), $e->getLine(), $e->getMessage(), $e->getCode(), get_class($e));
     var_dump(debug_backtrace());   
     }
    
    //-----------------------------------------------------------------------------------//
    //Traitement du SUBMIT
    //-----------------------------------------------------------------------------------//
    
    //Recuperation propre des variables
    $lien          = !empty($_POST['lien'])?$_POST['lien']:'';
    $titrevideo    = !empty($_POST['titrevideo'])?$_POST['titrevideo']:'';
    $typevideo     = !empty($_POST['typevideo'])?$_POST['typevideo']:'';
    
    $image_name    = !empty($_FILES['image']['name'])?$_FILES['image']['name']:NULL;
    $image_type    = !empty($_FILES['image']['type'])?$_FILES['image']['type']:'';
    $image_size    = !empty($_FILES['image']['size'])?$_FILES['image']['size']:''
    $image_tmp_name= !empty($_FILES['image']['tmp_name'])?$_FILES['image']['tmp_name']:NULL;
    
    if(isset($_POST['ajout'])){
     if($image_name && $image_tmp_name){
      if(move_uploaded_file($image_tmp_name, "../Admin/imagevideostube/$image_name")){
        
       //Preparation de la requete :
       $sql = "INSERT INTO videotube (lien,img,titre,typevideo)
           VALUES(:lien,:img,:titre,:typevideo)"; 
       
       $params=array(":lien"=>$lien,":img"=>$image_name,":titre"=>$titrevideo,":typevideo"=>$typevideo);
    
        //execution de la requête  
        try{ 
         $prepare = $db->prepare($sql);
         $prepare->execute($params);
          $new_id = $db->lastInsertId();
        } catch(Exception $e){
         echo "<pre><br>".$e->getMessage()."<br>";
         var_dump(debug_backtrace()); 
         echo "</pre>";
        }
       // Si l'insertion a fonctionné.. un id a été créé..et donc :
       if(isset($new_id)){
        echo'<script>alert("l\'ajout fait avec succés ")</script>';
       }
      
      }else{
        echo'<script>alert("Erreur ! \n >> l\'upload a échoué ! ")</script>';
      }
     }else{
      //Erreur ! $_FILES est vide
       echo "Erreur ! Aucun fichier !";
       print_r($_FILES);
     }
    }
    
    
    
    echo' <meta charset="utf-8" />';
    /**
    * Created by PhpStorm.
    * User: B.Youssef
    * Date: 24/07/2015
    * Time: 23:22
    */
    require_once '../Admin/accueilChange.php';
    echo '
    <!doctype html>
    <html>
    <head>
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
     <title>Ajout videotube</title>
    </head>
    <body>
     <form method="post">
     <select name="typevideo">
       <option>...</option>
       <option>??????</option>
       <option>????? ?? ????? </option>
       <option>??? ??????</option>
       <option>??????</option>
       <option>?????</option>
       <option>????</option>
       <option>???????</option>
       <option>???????</option>
       <option>spot</option>
     </select>
     <label>IFrame Vidéotube : </label><textarea name="lien"></textarea>
     <label>Titre Vidéotube : </label><input type="text" name="titrevideo" placeholder="titre de la vidéo">
     <label>Image Vidéotube : </label><input type="file" name="image"><br><br/>
     <input type="submit" name="ajout" value="Valider">
     </form>
    ';
    echo'</body>
       </html>';
    
    


    Cordialement,
    Jordane
    1
    1. bidlag Messages postés 21 Statut Membre
       
      Merci Mr Jordane;
      j'applique l'insertion mais il m'affiche tjr ce msg " Erreur ! Aucun fichier !Array ( ) " malgré que tt les champs sont rempli.
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 831
     
    Je n'avais pas vu ..
    c'est ton FORM qui ne va pas.

    Il faut mettre:
    <form method="post" action="" enctype="multipart/form-data">
    

    0
    1. bidlag Messages postés 21 Statut Membre
       
      Merci bcp mon cher le blem est resolut:;:
      0