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 :

update de données dans ma BDD


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable marketing opérationnel
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Espagne

    Informations professionnelles :
    Activité : Responsable marketing opérationnel
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut update de données dans ma BDD
    Coucou,

    J'essaie en vain de pouvoir updater des données dans ma BDD via un formulaire.

    voilà le code que j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <?	  
    include('conf.php');  
     
    $firstname= $_POST['firstname'];  
    $lastname= $_POST['lastname'];  
    $country= $_POST['country'];  
     
     
    if($firstname==" " || $lastname==" " || $country=="")  
        {  
        echo '<script language=javascript> alert ("Vous avez oublié de remplir un champs");</script>';  
        echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="profil.php" </SCRIPT>';  
    exit;  
        }  
     
    $sql = "SELECT firstname FROM Users WHERE firstname='$_POST[firstname]'";  
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
    $data = mysql_fetch_array($req);
     
     
    if($data['firstname']==$firstname)       
        {  	
        echo '<script language=javascript> alert ("Are you sure ? ");</script>';  
        echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="profil.php" </SCRIPT>';  
    exit;       
        }
     
    else
    {
     
    $sql = "SELECT lastname FROM Users WHERE lastname='$_POST[lastname]'";  
    $req = mysql_query($sql);
     
    $data = mysql_fetch_array($req);
     
    if($data['lastname']==$lastname)
        {
        echo '<script language=javascript> alert ("This last name already exists !");</script>';  
    	echo '<SCRIPT LANGUAGE="JavaScript"> document.location.href="profil.php" </SCRIPT>';  
    exit;
        }  
     
    else
    {
     
    $sql = "SELECT country FROM Users WHERE country='$_POST[country]'";  
    $req = mysql_query($sql);  
     
    $data = mysql_fetch_array($req); 
     
    if($data['country']==$country)  
        {	
        echo '<script language=javascript> alert ("hummm !");</script>';  
    	echo '<SCRIPT LANGUAGE="JavaScript"> ocument.location.href="profil.php" </SCRIPT>';  
    exit;  
     
        }
    else
     
    $mysql="UPDATE Users SET firstname='$firstname', lastname='$lastname', country='$country' WHERE id='$login";
     
    $rs = mysql_query($mysql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    $nid = mysql_insert_id();
     
    echo '  <p>your data has been added to the database, <a href="profil.php">click here</a> to check you profil.</p> ';  
     
    } 
     
    }
     
    ?>
    Le formulaire est dans un autre fichier et j'appelle celui que je viens de mettre juste au dessus.
    J'ai des message d'erreurs et je suis perdu ;(
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mysql="UPDATE Users SET firstname='$firstname', lastname='$lastname', country='$country' WHERE id='$login";

    Autre petit problème j'ai mis une ligne de code pour ne pas avoir le mm nom ou prenom qui existent 2 fois mais en fait je me suis planté et impossible de retirer la bonne ligne de code maintenant, je comprends pas...

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 174
    Par défaut
    Il est bizarre ton code...
    tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $firstname= $_POST['firstname'];  
    $lastname= $_POST['lastname'];  
    $country= $_POST['country'];
    Et après tu réutilises tes variables $_POST dans les requêtes
    ===>>>> GROSSE ERREUR (pb d'injections SQL, tu connais ?)

    Fais un echo $mysql de ta requête, à mon avis, ton erreur apparaitra toute seule....

  3. #3
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonjour,

    Vérifie le contenu de $_POST également, peut-être que tes valeurs sont mal passées.
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    mélanger PHP et javascript n'est pas très heureux...

    Vérification d'un formulaire :
    1/ on fait une PREMIERE vérification (facultative) en javascript AVANT d'envoyer le formulaire (onsubmit ...)
    2/ on fait une DEUXIEME vérification (obligatoire) en php (tout php !). Au cas où javascript est désactivé, c'est la dernière "barrière" !

    tu peux t'inspirer de cette méthode -> FORMULAIRE ET TRAITEMENT sur la même page

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2010
    Messages : 347
    Par défaut
    Citation Envoyé par JezUK Voir le message
    Le formulaire est dans un autre fichier et j'appelle celui que je viens de mettre juste au dessus.
    J'ai des message d'erreurs et je suis perdu ;(
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mysql="UPDATE Users SET firstname='$firstname', lastname='$lastname', country='$country' WHERE id='$login'";
    Je ne sais pas si ça va changer grand chose mais il te manquait une ' avant le " de fin d'update.

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2008
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 171
    Par défaut
    salut,

    ton code est une usine à gaz quand même.

    Plusieurs solutions :

    - très simple tu peux trouver ça sur le net, un validator en Jquery facile d'utilisation, dès qu'un champ est oublié directement message d'erreur à côté de ton input ou autre champ de ton formulaire.
    - fait un fichier javascript, moins le bazar et surtout tes boucles tu peux faire mieux au niveau de ton code
    - je ferrais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mysql="UPDATE Users SET firstname='".$firstname."', lastname='".$lastname."', country='".$country."' WHERE id='".$login."'";
    tiens au courant si ça marche

Discussions similaires

  1. [SQL-Server] Insertion via checkbox des données dans une bdd
    Par agur29 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/07/2007, 10h17
  2. Réponses: 4
    Dernier message: 04/05/2007, 12h58
  3. Décaler un jeu de données dans une BDD
    Par calagan99 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/05/2007, 14h58
  4. updater des données dans mon fichier excel
    Par gantec dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 26/02/2007, 16h01
  5. Insérer des données dans ma BDD
    Par griese dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 28/06/2006, 09h34

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