Problème BDD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème BDD

par AB » 07 juin 2009, 23:05

Une autre méthode est de sortir les variables :
"... VALUES ('".$idnew."','".$id2."','".$telephone."', '".$_POST[droits]."', NOW(), '".$new_pseudo."',..."
Note : Si tu utilisais un champ datetime tu aurais à la fois la date et l'heure.

par charabia » 07 juin 2009, 22:49

Tu as en effet des erreurs dans ton code d'insertion.

Regarde le code de Aureusms et base toi dessus pour corriger le tien.

par Philippe21 » 07 juin 2009, 22:28

Code: php
(// INSERTION DANS LA TABLE
    if($_POST[mailingliste]==1){ $inscription=1; } else{ $inscription=0; }
        $idnew=$idmax+1;
    $rek="insert into membre ( `id_membre` , `id` ,`telephone`, `droits` , `date_inscription` , `pseudo` , `passe` , `url` , `destination` , `remarques` , `email` , `heure_session`, `actif` $suite_requete_a , mailingliste)
     values ($idnew,\"$id2\",\"$telephone\", \"$_POST[droits]\", NOW(), \"$new_pseudo\",\"$new_password\",\"$url1\",\"$destination1\",\"$remarques1\",\"$email1\",NOW(), $actif $suite_requete_b , $inscription)";)

par AB » 07 juin 2009, 22:16

Tu dois avoir fait une erreur lors de l'insertion. Sinon ne pas utiliser de caractères accentués pour le nom des champs.

par Aureusms » 07 juin 2009, 22:15

Montre nous
  • ta requête d'insertion (qui commence par INSERT INTO)
    comment tu récupères ton formulaire
    Quelle est la structure de ton formulaire.
    Quelle la structure de ta table.
Pour faire (très) rapide :

le formulaire :

Code : Tout sélectionner

<form action="<?php echo $_SERVER["PHP_SELF"]; ?> method="post"> <input type="text" name="telephone" /> <input type="submit" value="modifier" /> </form>
se récupère via la méthode POST par la supervariable $_POST de cette façon
if (isset($_POST) && !empty($_POST["telephone"]))
{
$telephone = addslashes ($_POST["telephone"]);
}
J'ai écris au dessus : si le formulaire est posté et si le champ "telephone" n'est pas vide alors je mets dans la variable "telephone" la valeur (protégé par addslahes) du champ téléphone du formulaire. Il me reste plus qu'a l'insérer dans ma BDD.
//les différentes fonction de connexion à la base sont déjà inscrites
//on créé la requete
$requete = "INSERT INTO ma_table (ID, prenom, nom, telephone) VALUES ('$ID','$prenom','$nom','$telephone');
mysql_query ($requete);
Ici j'ai supposer que tu connaissais $prenom, $nom, $ID. Le nom des colonne de ta table appelée "ma_table" sont ID, prenom, nom, telephone

par Philippe21 » 07 juin 2009, 21:27

Merci pour ta réponse,
J’ai ajouté le champ (téléphone) dans ma base MySQL puis un champ (téléphone) dans mon formulaire, les données (téléphone) de la base MySQL se retrouve dans le champ (prénom) de mon formulaire…

par charabia » 07 juin 2009, 20:14

Je n'ai pas très bien saisi ta demande. Les champs se trouvent dans les tables et non dans la base.

"Ces données" correspondent à quoi ? Tu fais une insertion par formulaire ?

Problème BDD

par Philippe21 » 07 juin 2009, 19:49

Bonjour à tous,

J’ai créé de nouveaux champs dans une base de données existante, le problème est que ces données ne sont pas dans les bons champs ! Y’a-t-il des règles à respecter dans la création d’une BDD ?

Merci pour vos réponses.