IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

$_SESSION dans requête SQL


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 4
    Par défaut $_SESSION dans requête SQL
    Bonjour,

    J'essaye de passer mes variables d'une page PHP vers une autre pour les envoyer sur ma BDD, mais cela ne fonctionne pas..

    Sur le code ci-dessous, je reçois les variables d'un formulaire afin de prévisualiser ce que cela donnerait sur le site. Une fois que c'est ok pour moi j'envoie ces variables vers la dernière page.

    Le fichier "header_admin.php" contient tout ce qui est nécessaire à la connexion de la session (start_session), donc pas de soucis sur ça.

    (Dans le code j'ai utilisé $_SESSION mais aussi un formulaire caché, les deux fonctionnent pas impossible de faire fonctionner la requête) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
     
    <?php include("header_admin.php"); 
     include('functions_admin.php');
    logged_only();
     
    ?>	
     
    <h2> prévisualisation de la fiche de l'animé </h2></br></br> 
     
    <?php 
     
    	$image = $_FILES['image']['tmp_name'];
    	$imData = base64_encode(file_get_contents($image));
    	$src = 'data: ' .mime_content_type($image).';base64, '.$imData;
    	$titre = $_POST['titre'];
    	$titre_alt = $_POST['titre_alternatif'];
    	$sortie = $_POST['date_sortie'];
    	$nbr = $_POST['nbr_episode'];
    	$auteur = $_POST['auteur'];
    	$studio = $_POST['studio'];
    	$synopsis = $_POST['synopsis']; 
     
    	$_SESSION['titre'] = $titre;
    	$_SESSION['titre_alt'] = $titre_alt;
    	$_SESSION['sortie'] = $sortie;
    	$_SESSION['nbr'] = $nbr;
    	$_SESSION['auteur'] = $auteur;
    	$_SESSION['studio'] = $studio;
    	$_SESSION['synopsis'] = $synopsis;
     
     
    ?>
     
    <div class="fiche">
    	<!-- <?php var_dump($image); ?> --> 
    	<strong><h2> <?php echo $titre; ?> </strong></h2>
     
    	<?php echo '<figure><img src="'.$src.'" ></figure>'; ?></br></br> 
    	<strong>Titre alternatif : </strong> <?php echo $titre_alt; ?></br></br> 
    	<strong>Sortie :</strong> <?php echo  $sortie; ?></br></br> 
    	<strong>Nombre d'épisodes :</strong> <?php echo $nbr; ?></br></br> 
    	<strong>Auteur : </strong><?php echo $auteur; ?></br></br> 
    	<strong>Studio : </strong><?php echo $studio; ?></br></br> 
    	<strong>Synopsis :</strong> </br> <?php echo $synopsis; ?> </br></br> 
    </div>
     
     
     
    </br></br> <p> Pour modifier <a href="ajout_anime.php">clique ici</a> pour revenir à la page d'ajout d'animé.</p>
     
    <form method="post" action="envoie.php" enctype="multipart/form-data">
     
    <input type='hidden' name='titre' value= <?php $_POST['titre']; ?> > 
    <input type='hidden' name='titre_alt' value=<?php $_POST['titre_alternatif']; ?>> 
    <input type='hidden' name='sortie' value=<?php $_POST['date_sortie']; ?>> 
    <input type='hidden' name='nbr' value=<?php $_POST['nbr_episode']; ?>> 	
    <input type='hidden' name='auteur' value=<?php $_POST['auteur']; ?>> 
    <input type='hidden' name='studio' value=<?php $_POST['studio']; ?>> 
    <input type='hidden' name='synopsis' value=<?php $_POST['synopsis']; ?>> 
     
    <button class="btn btn-primary" type='submit' > Envoyer la fiche</button>
    </form>
    Une fois que tout cela est envoyé, ça arrive sur la page ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    <?php include("header_admin.php"); 
     
    include('functions_admin.php');
     
    include('co_bdd.php');
     
     
     
    logged_only();
     
     
     
    $bdd->exec("INSERT INTO administrateurs (titre, titre_alt, sortie, nbr_episodes, auteur, studio, synopsis) VALUES ('" .$_SESSION["titre"]. "', '" .$_SESSION['titre_alt']. "', '" .$_SESSION['sortie']. "', '" .$_SESSION['nbr']. "', '" .$_SESSION['auteur']. "', '" .$_SESSION['studio']. "', '" .$_SESSION['synopsis']. "') ");
     
     
    ?>
    Quand je fais le test sur mon site j'ai le message :

    Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Champ 'titre' inconnu dans field list in E:\WAMP\www\AnimeCrit\Admin\envoie.php on line 13
    Hors j'ai bien un titre dans ma BDD.

    Pour la requête j'ai aussi essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $req = $bdd->prepare("INSERT INTO administrateurs SET titre = '" .$_SESSION['titre']. "', titre_alt = '".$_SESSION['titre_alt']."', sortie = '".$_SESSION['sortie']."', nbr_episodes = '".$_SESSION['nbr']."', auteur = '".$_SESSION['auteur']."', studio = '".$_SESSION['studio']."', synopsis = '".$_SESSION['synopsis']. "' ");
     
    $req->execute();
    Mais ça ne marche pas :'(

    Des idées ?

  2. #2
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Bonsoir.
    Il faut commencer par débugger.
    que donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 4
    Par défaut
    Bonjour !

    Voici le résultat en débuggant :

    Nom : result.png
Affichages : 282
Taille : 28,7 Ko

Discussions similaires

  1. [MySQL] Introduire une variable dans requête SQL, insérer des données à la volée
    Par Ronan.f dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 29/04/2006, 22h10
  2. [VB6]Fonction dans requête SQL Access
    Par jean-pierre96 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/04/2006, 19h44
  3. TEdit.Text dans Requête SQL?!?
    Par zarbydigital dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/10/2005, 09h37
  4. [Visual Web] [SJSC] Concaténation dans requête SQL
    Par Original Prankster dans le forum NetBeans
    Réponses: 22
    Dernier message: 15/08/2005, 14h50
  5. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo