[Résolu][PHP/SQL] Ajout variable données inscrite dans bdd par tierce

Ajout variable données inscrite dans bdd par tierce [Résolu][PHP/SQL] - PHP - Programmation

Marsh Posté le 03-02-2011 à 23:21:35    

Bonsoir,
 
Je cherche, pour apprendre uniquement, à créer un espace d'échanges de messages.
Le visiteur de cet espaces s'identifie au moyen d'un pseudo.
Ensuite, il écrit un texte surmonté d'un titre.
Il y a donc trois variables :  

  • le prénom (prenom) ;
  • le titre du texte (titre) ;
  • le texte en lui même (contenu).


Le formulaire d'envoi du texte et le reste sont issus d'un code existant modifié pour l'occasion :

Code :
  1. <form action="../Elements/actutilisateur.php" method="post">
  2.    <p>
  3.     <label for="titre">Titre</label> : <input type="text" name="titre" id="titre" /><br />
  4.     <label for="message">Message</label><br/>
  5.     <TEXTAREA name="contenu" rows="10%" cols="40%">Écrit ici</TEXTAREA>
  6.     <input type="submit" value="Envoyer" />
  7.    </p>
  8.   </form>


le fichier actutilisateur.php contient les données suivantes :

Code :
  1. <?php
  2. session_start();
  3. // Connexion à la base de données
  4. try
  5. {
  6.     $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
  7.     $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '', $pdo_options);
  8.    
  9.     // Insertion du message à l'aide d'une requête préparée
  10.     $req = $bdd->prepare('INSERT INTO news_utilisateur (titre, contenu) VALUES(?, ?)');
  11.     $req->execute(array($_POST['titre'], $_POST['contenu']));
  12.    
  13.     // Redirection du visiteur vers la page où s'affichent les textes
  14.     header('Location: ../Pages/accueil.php');
  15. }
  16. catch(Exception $e)
  17. {
  18.     die('Erreur : '.$e->getMessage());
  19. }
  20. ?>


 
La variable prenom est définie plus en amont, au moment de l'entrée sur le site (ensuite, il se ballade avec le session_start).
 
Comment insérer cette $_SESSION['prenom'] automatiquement à la suite du titre du texte de l'utilisateur ?
De même, comment faire de même avec un date('j F Y') qui s'afficherait automatiquement à la fin du texte ?
 
Placer des

Code :
  1. <?php echo ' par ' . $_SESSION['prenom'] ?>
  2. <?php echo ' le ' . date('j F Y') ?>


là où il faut, à la page où s'inscrivent les titres et textes, est plus susceptible de dérouter l'utilisateur  :whistle:  
 
La solution, pourrait-elle se trouver du côté d'une mise à jour a posteriori des donnée entrées par l'utilisateur, via un UPDATE ?


Message édité par orang le 04-02-2011 à 21:01:03
Reply

Marsh Posté le 03-02-2011 à 23:21:35   

Reply

Marsh Posté le 04-02-2011 à 00:52:50    

$req->execute(array($_POST['titre'], $_POST['contenu']));
devient
$req->execute(array($_POST['titre'].' par .'$_SESSION['prenom'], $_POST['contenu'].' le '.date('j F Y')));
?


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 04-02-2011 à 11:23:21    

Merci, c'est tout à fait ça :)
Je me souviens d'avoir essayer quelque chose d'assez similaire :
$req->execute(array($_POST['titre'].' par '.$_SESSION['prenom']));  
$req->execute(array($_POST['contenu'].' le '.date('j F Y'));
Mais de tout regrouper fonctionne bien mieux :)


Message édité par orang le 04-02-2011 à 21:00:04
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed