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

PHP & Base de données Discussion :

Problème formulaire PHP/SQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Problème formulaire PHP/SQL
    Bonjour à tous,
    J'ai besoin de votre lumière pour m'éclairer un peu ^^
    Je vous explique, je souhaite créer un script qui me permette de modifier une donnée dans ma base SQL.
    En théorie, rien de bien compliqué, mais en pratique je bloque sur ce coup là.

    La subtilité est que le formulaire de modif doit contenir du html ( par conséquent, la table SQL aussi ).

    Je vous donnes le bout de code ou je bloque ça sera plus simple ;
    L'appel de mes variables;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $titre = htmlentities($_POST['titre']);
    $datedeb = mysql_real_escape_string($_POST['datedeb']);
    $datefin = mysql_real_escape_string($_POST['datefin']);
    $corp = htmlentities($_POST['corp']);
    $img = mysql_real_escape_string($_POST['img']);
    Ma requête SQL ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE $table SET `titre` = '".$titre."', `corp` = '".$corp."', `datedeb` = '".$datedeb."', `datefin` = '".$datefin."', `img` = '".$img."' WHERE `promos`.`ID` ='".$_GET['id']."'
    Déjà, comme indiqué plus haut, le champ " corp " et " titre " doivent me retourner, lors d'un appel de la BDD dans une autre page, du code HTML brut (<b></b>, <i></i>, etc... ), donc un premier temps, les fonctions appliquées sur les chaines de caractère sont-elles correctes ou totalement fausses ?, quels sont les fonctions les plus adéquats dans un tel cas ?

    Ensuite, le problème un peu plus important;
    Lors de ma modif, malgré le fait que j'ai bien mon message de confirmation de modif, ainsi qu'un mysql_error() qui ne me retourne aucune erreur, aucune modification est faite sur la BDD, d'ou peut venir ce problème ?

    Voilà, j'ai essayé d'être le plus clair possible dans mes explications :s

    Merci d'avance pour vos réponses !

    Cdt,

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu veux stocker du HTML, il ne faut pas utiliser htmlentities().

    Pour ta requête, es-tu d'avoir un paramètre GET en plus de ton formulaire ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Points : 348
    Points
    348
    Par défaut
    Bonjour à toi, pour tes chaînes je te conseille de créer une fonction qui t'évitera des oublis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function protect($str)
    	{
    		return htmlentities(addslashes($str));
    	}
    Ensuite fait un echo de ta requête afin de vérifier si tes paramètres sont correctement envoyés et je te conseille si tu veut gérer une modification d'utiliser le même formulaire que pour l'ajout et d'y insérer les valeurs actuelle, pourrais tu par ailleurs nous montrer ton formulaire.
    Pensez à la balise [CODE].
    Aucune réponse aux questions par MP.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    @gwharl : Merci pour cette petite fonction je vais mettre ça en place , et le fait de mettre ajout/modif sur la même page j'y songeais justement

    @sabotage : Impeccable, merci, mon problème venait en effet de mon GET, dans le formulaire j'avais complètement oublié de le renseigner, donc automatiquement, la requête était bonne mais l'ID introuvable

    Par contre au vue de vos réponses, je n'ai pas bien compris, je doit utiliser htmlentities() pour stocker mon HTML ou non ? :s

    De plus, après pour récupérer mon HTML sous forme "brut", quelle fonction est la plus adaptée ?

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il ne faut pas utiliser htmlentities.
    Et pour la requête, il faut utiliser mysql_real_escape_string() et non addslashes()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Ok super, tout est en ordre
    Merci de votre aide !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probléme formulaire php
    Par hellsingblack dans le forum Langage
    Réponses: 4
    Dernier message: 06/11/2009, 13h19
  2. [MySQL] Problème requête PHP/sql
    Par lelapinrusse dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/06/2009, 20h19
  3. Problème Formulaire PHP
    Par mikius dans le forum Langage
    Réponses: 2
    Dernier message: 08/06/2007, 10h00
  4. Problème formulaire PHP sous Apache Windows
    Par nicorico dans le forum Apache
    Réponses: 4
    Dernier message: 29/03/2007, 14h35
  5. [SQL] formulaire php/sql (liste déroulante) petit soucis
    Par koolgirl dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/03/2007, 21h21

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