Ajouter une variable de session à la suite d'une saisie avant d'insérer le résul

Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009 - 25 août 2007 à 15:18
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 - 25 août 2007 à 19:51
Bonjour,

J'ai un formulaire pour poster des news, comportant 4 champs :
 - 1 champ id qui est masqué
 - 1 champ titre
 - 1 champ corps pour le texte
 - un champ email qui est masqué et dont la valeur est l'email de l'utilisateur (j'utilise l'email comme indentifiant que je donne en valeur à la variable de session $_SESSION['MM_Username']. J'ai appris à taton avec dreamweaver, c'est comme ça qu'il nomme la variable de login et j'ai gardé l'habitute ! ).

Dans l'éventualité ou deux utilisateurs posteraient une news qui aurait le même titre, je cherche une solution pour ajouter automatiquement l'email de l'utilisateur à la suite du titre. Est ce que c'est possible ?

Mais ensuite, je compte faire un formulaire de recherche, et il faudrait donc que seul le titre soit considéré...

J'ai essayé d'ajouter des bouts de code, mais pour le moment rien n'a marché.... Donc en attendant d'avoir le savoir je le demande à ceux qui l'ont !

Merci à tous !

Le code de mon formulaire :

<?php
}


if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO presentation (id, nom, presentation, logo, email) VALUES (%s, %s, %s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['titre'], "text"),
                       GetSQLValueString($_POST['corps'], "text"),
                       GetSQLValueString($_POST['email'], "text"));


  mysql_select_db($database_local, $local);
  $Result1 = mysql_query($insertSQL, $local) or die(mysql_error());


  $insertGoTo = "visualisation-organisme.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?>

5 réponses

Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
25 août 2007 à 15:42
Hello,

le meilleur conseil pour ce genre de problème, c'est d'ajouter systématiquement un id numérique à tes tables d'utilisateurs, articles, etc.

Tu dois rajouter une colonne "id" en INT en clé primaire et auto-increment dans tes tables.

Ton identifiant pour chaque article, utilisateur ou ce que tu veux, ce sera ce numéro propre à chacun. Ca va te simplifier énormément la vie ! Tu ne comprendras même pas comment tu pouvais faire sans avant. Reviens après nous dire si tes problèmes persistent en ayant adopté cette méthode.

Pour finir, je te conseille juste de faire attention quand tu mets des ids en champ caché, demande-toi toujours ce qui se passerait si qqn envoyait un autre id que le sien, est-ce qu'il arriverait à modifier l'article de qqn d'autre, etc ?

à+
0
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009
25 août 2007 à 15:56
Salut,

J'utilise déjà des clés primaire par id autoincrémenté. Mais mon problème se situe après. Lorsque je faire une recherche par jeu d'enregistrement, la page affiche le premier résultat dont le titre correspond. Du coup, si plusieurs articles comportent le même titre, on ne peut accéder qu'au premier trouvé...
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
25 août 2007 à 18:32
Je vois... mais ça me semble bancal de rajouter le nom de l'auteur au titre, ce n'est pas fait pour ça...

si tu y tiens, tu dois d'abord faire une requête pour savoir si un article avec le même nom existe. en fonction du résultat tu fais ce que tu veux.

mais je te conseille plutôt de modifier la façon dont tu recherches, par exemple afficher plusieurs résultats s'il y en a plusieurs me paraît plus logique ?

A part ça, ce n'est que mon avis, mais je trouve le "style dreamweaver" particulièrement laid, tu devrais peut-être reprendre des tutoriels pour faire des choses plus propres.
0
Sniark Messages postés 90 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 22 septembre 2009
25 août 2007 à 18:35
ok merci pour cette réponse. Effectivement, Dreamweaver ne rend pas un résultat très propre, mais j'apprends de cette façon, et je remplace par du code petit à petit quand j'ai compris le fonctionnement...

Merci en tout cas !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
25 août 2007 à 19:51
Je t'en prie :)
0
Rejoignez-nous