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 d'insertion avec apostrophe [MySQL]


Sujet :

PHP & Base de données

  1. #61
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    A tout hasard : que contient "secure.php" ?
    Montre nous ce qu'il y a dedans, j'ai peut être une idée sur le pourquoi du comment.

  2. #62
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    Quoique non en fait ... mon idée était daubed

  3. #63
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    secure.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php 
    session_start() ; 
    // on vérifie si l'utilisateur est identifié 
    if (!isset( $_SESSION['nom'] )) { 
    //(!isset($user_connected)) header("location:identification.php");
      // la variable de session n’existe pas, 
      // donc l'utilisateur n'est pas authentifié 
      // On redirige sur la page permettant de s’authentifier 
      header('Location: index.php') ; 
      // on arrête l'exécution 
      exit() ; 
    }  
    ?>

  4. #64
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    index.php
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <?php 
    // initialisation de la session 
    session_start() ; 
    ?>
    <html> 
    <head>
    <link href="style/style.css" rel="stylesheet" type="text/css" >
    <title>Bienvenue sur le site de Gestion des incidents</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript" type="text/javascript">
          function validation_form()
          {
            valide = true;
            if (!verif_vide(document.form1.pseudo.value))
            {
              valide = false; alert('Le champ login est vide !');
    		  document.form1.pseudo.focus();
    		  return false;
            }
    		if (!verif_vide(document.form1.passe.value))
            {
              valide = false; alert('Le champ mdp est vide !');
    		  document.form1.passe.focus();
    		  return false;
            }
         if (valide == false)
            {
             alert('Veuillez remplir les champs correctement SVP !\nMerci !');
            }
    }
     
       	function verif_vide(text) 
          { //vérifie si le champ est vide
          return (/\S/.test(text)); 
          } 
     
     
    </script>
    </head> 
    <body background="images/bicig46-81.jpg" link=black vlink=black alink=black >
    <table width="100%">
      <tr>
        <td  align="center" valign="top"><img src="images/bienvenuehomepage.gif" width="600" height="55" ></td>
      </tr>
      <tr> 
        <td  align="center"><font size="6" face="Papyrus" color="#006400"><b>Gestion des incidents</b></font></td>
      </tr>
    </table>
     
    </td>
    <table bgcolor=#ffffff  class="cadre" align="center">
    <tr>&nbsp;</tr>
    <tr align="center">
     
    		<form method="post" name="form1"  action="login.php"  onsubmit="return validation_form(this);">
    					<tr>
    						<td colspan="2"><font color="red"><?php if (isset($_SESSION['message'])) {echo($_SESSION['message']); unset($_SESSION['message']);}?></font></td>
     
    					</tr>
    					<tr>
    						<td width=192><font face="Arial" size="2">Nom d'utilisateur :</font></td>
    						<td width="225"><input type="text" name="pseudo"></td>
    					</tr>
    					<tr>
    						<td width=192><font face="Arial" size="2">Mot de passe :</font></td>
    						<td><input type="password" name="passe"></td>
    					</tr>
    					<tr>
    						 <td colspan=2 align="right"><input type="submit" name="Submit" value="Se connecter"></td>
    					</tr>
    				</form>
     
    </tr>			
    	</table>
     </td>	
    </tr>
    </table>
     
    <table width="100%">
    <tr>&nbsp;</tr>
    <tr>&nbsp;&nbsp;</tr>
      <tr td align="center"><td align="center"><font  face="Papyrus" size="1" color="#006400"><b>&copy;	Copyright 2006 BICIG</b></font></td>  
      </tr>
     
    </table>
    </body> 
    </html>

  5. #65
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    login.php

    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
    <?php 
     
    // initialisation de la session 
    session_start() ; 
    include('variables.php'); 
    include('fonctions.php'); 
     
    // CONNEXION A LA BASE DE DONNEE 
    connexion(); 
    no_cache(); 
     
    $pseudo = ""; 
    $passe = ""; 
     
     
    // AJOUT DE TRIM (EVITE ESPACES VIDES) 
    //if($_POST['pseudo'] && $_POST['passe']) 
    //{ 
    if ((strlen(trim($_POST['pseudo']))==0 && strlen(trim($_POST['passe']))==0)  || ((empty($_POST['pseudo'])) && (empty($_POST['passe'])) ))
       { 
         $_SESSION['message']='champs vides'; 
        // REDIRECTION VERS LA PAGE ERREUR 
        header("Location: ".$pagelogin."?Message=".$_SESSION['message']); 
      } 
      else
       {
        $pseudo = $_POST['pseudo']; 
        $passe = $_POST['passe']; 
      } 
    //} 
     
    // Et là, tu peux tester l'existence de tes variables 
    if($pseudo && $passe) { 
    // ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET 
    // MOT DE PASSE SAISIS A LA PAGE INDEX.HTM 
    // JE TE SUGGERE DE PROTEGER TON SCRIPT CAR IL EST FAILLIBRE AUX INJECTION SQL 
        $requete=requete("select login from "._TABLE_." where login='".mysql_real_escape_string($pseudo)."' and mdp='".mysql_real_escape_string($passe)."'"); 
     
        // SI AUCUN ENREGISTREMENT NE CORRESPOND 
        if(mysql_num_rows($requete)==0){ 
            // REDIRECTION VERS LA PAGE ERREUR 
     
            $_SESSION['message']='Login ou Mot de passe inexistant'; 
            header("Location: ".$pagelogin."?Message=".$_SESSION['message']); 
        } 
        // SI LE LOGIN ET MOT DE PASSE SONT EXACTS      
        else { 
         // on sauvegarde donc son nom dans la session 
     
    	   $_SESSION['nom'] = $pseudo; 
     
          // REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE 
        header("Location:".$pagelogged."?user=".$_SESSION['nom']); 
        }       
    } 
    // TON FORMULAIRE HTML CI-DESSOUS 
    ?>

  6. #66
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    variable.php
    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
    <?
     
    /*--------------------------------------------------------------------------------------
    VARIABLES DE CONNEXION A LA BASE DE DONNEE
    --------------------------------------------------------------------------------------*/
     
    define("_HOST_", "localhost");
    define("_USER_", "root");
    define("_PWD_", "");
    define ("_DB_", "bdsuivi"); 
    define ("_TABLE_", "utilisateurs"); // nom de la table utilisée
     
    /*--------------------------------------------------------------------------------------
    AUTRES VARIABLES
    --------------------------------------------------------------------------------------*/
    $validitesession = 3600; // durée de validité de la session
    $pagelogin = 'index.php'; // page de login et de sortie
    $pagelogged = 'menu1.php'; // page suivant la connexion
    ?>

  7. #67
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    fonctions.php
    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
    <?
     
    /*--------------------------------------------------------------------------------------
    FONCTION D'AFFICHAGE DES ERREURS DE CONNEXION
    --------------------------------------------------------------------------------------*/
     
    function erreur( $message )
     {
     echo $message ;
     exit ;
     }
     
     
    /*--------------------------------------------------------------------------------------
    FONCTION DE CONNEXION A LA BASE DE DONNEES
    --------------------------------------------------------------------------------------*/
     
    function connexion()
    {
      // connexion au serveur de données
      @mysql_connect( _HOST_ , _USER_ , _PWD_ ) or erreur( 'Connexion au serveur de données impossible' ) ;
     
      // sélection de la base de données
      @mysql_select_db( _DB_ ) or erreur( 'Sélection de la base de donnée impossible' ) ;
    }
     
     
    /*--------------------------------------------------------------------------------------
    FONCTION DE DECONNEXION A LA BASE DE DONNEES
    --------------------------------------------------------------------------------------*/
     
    function deconnexion()
    {
     @mysql_close();
    }
     
     
    /*--------------------------------------------------------------------------------------
    FONCTION DE D'EXECUTION D'UNE REQUETE
    Entrée : 
      $adr : requete
    Sortie :
      $resultat : résultat de la requete
      ou
      message d'erreur
    --------------------------------------------------------------------------------------*/
     
     function requete( $requete )
     {
     if($resultat = mysql_query( $requete )) return $resultat ;
     erreur( "Erreur dans la requête : $requete<br>" . mysql_error() ) ;
     }
     
     
    /*--------------------------------------------------------------------------------------
    FONCTION DE DESACTIVATION DU CACHE DU NAVIGATEUR
    --------------------------------------------------------------------------------------*/
     
    function no_cache() {
      header("Pragma: no-cache");
      header("Cache-Control: no-cache");
    }
     
    ?>

  8. #68
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    bon.. je remballe mon compliment, le code HTML est "bon"...

    par contre le php... c'est dreamweaver tout ca ?

  9. #69
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    oui c'est c'est dreamweaver tout ca ?

  10. #70
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    bah c'est pas beau...

    alors on récapitule parce que là tout le monde a l'air d'en perdre son latin

    ou est la panne ? que se passe t'il a partir du moment ou tu appuie sur le bouton submit ?

  11. #71
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    1/- lorsque modifie les valeurs des champs et je cliqu sur submit (modifier) de la page edit.php, les données sont modifiées sans problème et la page gerer.php s'affiche pour me donner le résultat de l'opération.

    2/- lorsque modifie les valeurs des champs et que ces valeurs contiennent un apostrophe ' , c'est à c niceau qu'il y l'erreur.

  12. #72
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Essaie avec ma bricole on sait jamais...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function my_addslashes($var)
    {
    	$tmp = str_replace("'","\'",$var);
    	$final = str_replace('"','\"',$tmp);
    	return $final;
    }

  13. #73
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    guitou12 toujours la même erreur pour l'apostrophe simple!
    Array ( [raison] => dffgg'g [telephone] => 253651 [adresse] => ffvvvssccf [activite] => ffvvvssdddd [gestionnaire] => ffhh [NumCli] => 134 [MM_update] => form1 ) Erreur de syntaxe près de 'g' and NumCli<>'134'' à la ligne 1

  14. #74
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    $_POST['nounours'] = addslashes($_POST['nounours']);
    print_r($_POST);
     
    echo "<form action=\"" .$_SERVER['PHP_SELF']. "\" method=\"POST\">
                            <input type=\"text\" name=\"nounours\" value=\"" .$_POST['nounours']. "\">
                            <input type=\"submit\" name=\"envoi\" value=\"OK\">
                        </form>";
    ?>
    Voila, je veux que tu testes cette page sur ton serveur. qu'on voit ce qui va pas.

  15. #75
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    résultat du formulaire:
    Notice: Undefined index: nounours in c:\program files\easyphp1-7\www\suivi_incident\test.php on line 2
    Array ( [nounours] => )

  16. #76
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    le notice tu t'en fous, par contre ton easyphp il est buggé grave !!

    et en faisant un echo $_POST['nounours']; ??

    il t'affiches rien, ... euh ... il marche pour autre chose ton easyphp ? ou bien ?

  17. #77
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    en initialisant $_POST['nounours'] ="";
    en ajoutant echo $_POST['nounours'];
    et en cliquant sur "ok", j'ai:
    Array ( [nounours] => [envoi] => OK )

  18. #78
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    avec et sans ' ?

  19. #79
    Membre habitué
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Points : 146
    Points
    146
    Par défaut
    voici ce que j'ai maintenant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $_POST['nounours'] ="";
    $_POST['nounours'] = addslashes($_POST['nounours']);
    print_r($_POST);
    echo $_POST['nounours']; 
    echo "<form action=\"" .$_SERVER['PHP_SELF']. "\" method=\"POST\">
                            <input type=\"text\" name=\"nounours\" value=\"" .$_POST['nounours']. "\">
                            <input type=\"submit\" name=\"envoi\" value=\"OK\">
                        </form>";
    ?>

  20. #80
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    pkoi tu fous $_POST['nounours'] =""; la !!!

    il t'écrase la valeur banane !!

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

Discussions similaires

  1. [MySQL] Insertion avec le caratère apostrophe
    Par King_T dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/04/2008, 11h04
  2. [MySQL] Problème récupération données avec apostrophe
    Par Nata31 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 21/07/2006, 16h26
  3. Problème d'insertion avec un champ Date/Heure ?
    Par bds2006 dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/06/2006, 10h37
  4. Problème d'INSERT avec caractères accentués: mysql 5.0
    Par yizashi dans le forum Installation
    Réponses: 2
    Dernier message: 05/04/2006, 10h26
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

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