donnée ne s'enregistre pas bien dans la SGBD - PHP - Programmation
Marsh Posté le 26-02-2010 à 23:43:22
Sur phpmyadmin ? je ne sait pas si sa va répondre à ta question mais :
id = mediumint(9) avec Auto- Incre.
pseudo = varchar(50) NULL
message = text(255) NULL
les paramètres de ma table livre_or
Marsh Posté le 27-02-2010 à 00:10:30
ca parait normal tu affectes a $speudo et $message le résultat de la fonction isset() qui retourne true ou false.
isset sert à savoir si la variable est définit, si elle existe.
on l'utilise souvent dans un if.
par exemple ici on test si les deux variable existes et si elles ne sont pas vides.
<?php
if(isset($_POST['pseudo']) and !empty($_POST['pseudo']) and isset($_POST['message']) and !empty($_POST['message'])){
$speudo=$_POST['speudo'];
$message=$_POST['message'];
//tu dois sécuriser tes données ici pour éviter les injections sql.
mysql_connect("localhost", "root", "" );
mysql_select_db("tttt" );
//une entrée avec mysql_query
mysql_query("INSERT INTO livre_or VALUES (' ', '$pseudo', '$message')" );
}
?>
Marsh Posté le 27-02-2010 à 00:25:29
ReplyMarsh Posté le 27-02-2010 à 11:36:41
Wilyame a écrit : MERCI beaucoup, sa marche impecablement ! |
fait attention avec ton code.
rien n'est sécurisé.
Marsh Posté le 27-02-2010 à 16:55:09
oui je sais que ce n'est pas sécurisé mais c'est car comme je suis débutant en php si dès le début je m'encombre de ligne de code pas indispensable pour que sa fonctionne...
j'ai laisser tes commentaires pour ne pas oublier de les ajouter une fois ce livre d'or fini.
Marsh Posté le 27-02-2010 à 17:04:45
Après avoir amélioré mon script j'ai commencer à créer une interface d'administration qui marche comme sa:
dans une page protéger par un mot de passe il y à un tableau avec 2 colones, une, qui lis les messages entrés dans le formulaire du livre d'or (les messages pas encore modérés attérissent dans une table "non_modere_livre_or", et l'autre qui lis les messages une fois modérés (table "livre_or" ) donc qui s'affiche en dessous du formulaire d'envoi du message sur la page de livre d'or.
donc mon idée, c'est que quand quelqu'un entre son pseudo et son message, moi, je le vois dans mon admin et je êux le supprimer ou l'accepter (donc le transferer dans l'autre colone du tableau donc aussi le transferer de table pour q'une fois modéré, il s'affiche sur la page livre d'or
je ne sais pas si j'ai bien expliqué...
mon code :
Code :
|
Marsh Posté le 28-02-2010 à 15:22:53
Pourquoi ne pas ajouter une colonne "modération" avec un booléen qui définit si tel ou tel message a été modéré ?
Marsh Posté le 28-02-2010 à 15:34:55
antac a écrit : Pourquoi ne pas ajouter une colonne "modération" avec un booléen qui définit si tel ou tel message a été modéré ? |
ok, mais est ce que j'aurai la possibilité de les accepter avant qu'il soit afficher ?
Marsh Posté le 28-02-2010 à 16:20:22
Tu rajoutes dans ta req de sélection une clause WHERE sur la valeur de ton champ de modération.
Marsh Posté le 28-02-2010 à 19:17:46
Peut tu expliqué plus clairement, je n'est pas tout saisi !
Marsh Posté le 28-02-2010 à 20:01:52
Citation : SELECT xxxxxxxx WHERE moderation = 1; |
Tu ne sélectionneras que les messages ayant été modérés.
Marsh Posté le 28-02-2010 à 21:07:51
ah Ok, demain, je vais y réfléchir à tête reposé pour faire mon script
Marsh Posté le 28-02-2010 à 23:07:59
la clause WHERE dans une requête permet de définir des conditions de restrictions.
Par exemple si tu veux tous les articles ayant un titre commençant par A tu peux écrire :
SELECT titre FROM table WHERE titre LIKE 'A%'
ou si tu veux que ceux qui ont eu une note supérieure à 15 et commençant par A tout en étant validé ainsi que ceux non modéré mais inférieur à 15
SELECT titre FROM table WHERE (note>15 AND titre LIKE 'A%' AND moderation=1) OR (note<15 AND moderation=0).
Apprend déjà les bases du SQL...
Marsh Posté le 26-02-2010 à 23:23:35
Bonjours à tous,
dans mon script de livre d'or, j'ai récupéré les variables pseudo et message grâce à un formulaire, avec du SQL sa s'enregistre dans la SGBD mais la SGBD ne récupère pas exactement ce que j'ai rentré dans le formulaire pour tester :
mais quand je vais dans phpmyadmin pour voir ce qu'il à enregistrer, il y à, l'Id (normalement remplis) mais dans le champ pseudo et message, il y à marqué "1" c'est tout, au lieu qu'il y ait le pseudo entré en le message lui aussi entré via le formulaire.
Message édité par Wilyame le 26-02-2010 à 23:26:48