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

Langage PHP Discussion :

Petit défi d'expressions régulières [RegEx]


Sujet :

Langage PHP

  1. #21
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut
    Une injection directe dans la bdd, tu aimes te compliquer!

    Fatal error: Cannot unset string offsets in D:\wamp2\www\test3\index.php on line 19

  2. #22
    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 faudrait que tu debug un peu, je ne peux pas faire tout le travail.
    Je ne sais meme pas quelle est la ligne 19 ni quelle ligne de la source provoque cette erreur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #23
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut
    Ben c'est toujours unset($ligne[0]);

  4. #24
    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
    ajoute avant et dit moi le dernier retour avant l'erreur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #25
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut
    string 'à|1
    ' (length=4)
    C'est le 1er mot de la liste

  6. #26
    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
    aie j'ai mélangé mes variables
    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
    <?php
    $sth = $cnx->prepare("INSERT INTO `dico` VALUES (:nom, :synonymes);");
    $handle = fopen('file.txt', 'r');
    if ($handle)
    {
        while (!feof($handle))
    	{
    		$ligne = fgets($handle);
                    $parts = explode("|", $ligne);
                    if (!empty($ligne)) {
                    if ($parts[1] == "1") {
                         $mot = $parts[0];
     
                    }
                    else {
                         unset($parts[0]);
                         $synonymes = implode(",", $parts );
                         echo $mot . ' : ' . $synonymes . '<br/>';
                         $sth->execute(array(':mot'=>$mot, ':synonymes'=>$synonymes));
                     }
                     }
    	}
    	fclose($handle);
    }
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #27
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut
    C'est pas gagné

    string 'à|1
    ' (length=4)


  8. #28
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut
    Trop d'erreurs pour ton petit cerveau ?

    (mdr mais quel enculé)

  9. #29
    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
    Enlève les espaces entre $parts et [.
    Si ça ne marche pas, fait moi un
    comme précédemment
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #30
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut
    Même erreur :
    string 'à|1
    ' (length=4)

    ( ! ) Notice: Undefined variable: mot in D:\wamp2\www\test3\index.php on line 22
    Call Stack
    # Time Memory Function Location
    1 0.0002 691880 {main}( ) ..\index.php:0
    : 1

    ( ! ) Notice: Undefined variable: mot in D:\wamp2\www\test3\index.php on line 23
    Call Stack
    # Time Memory Function Location
    1 0.0002 691880 {main}( ) ..\index.php:0

    ( ! ) Warning: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in D:\wamp2\www\test3\index.php on line 23
    Call Stack
    # Time Memory Function Location
    1 0.0002 691880 {main}( ) ..\index.php:0
    2 1.0114 711192 PDOStatement->execute( ) ..\index.php:23
    string '(Preposition)|chez|dans|parmi
    ' (length=30)

    ( ! ) Notice: Undefined variable: mot in D:\wamp2\www\test3\index.php on line 22
    Call Stack
    # Time Memory Function Location
    1 0.0002 691880 {main}( ) ..\index.php:0
    : chez,dans,parmi

    ( ! ) Notice: Undefined variable: mot in D:\wamp2\www\test3\index.php on line 23
    Call Stack
    # Time Memory Function Location
    1 0.0002 691880 {main}( ) ..\index.php:0

    ( ! ) Warning: PDOStatement::execute() [<a href='pdostatement.execute'>pdostatement.execute</a>]: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in D:\wamp2\www\test3\index.php on line 23
    Call Stack
    # Time Memory Function Location
    1 0.0002 691880 {main}( ) ..\index.php:0
    2 1.0116 712304 PDOStatement->execute( ) ..\index.php:23
    string 'abaca|1
    ' (length=8)
    Je laisse toujours le var_dump.

    Ecoute au pire je t'envoie la base des synonymes, ça doit être chiant de trouver la solution comme ça, en plus tu refuses la facilité, on a pas fini .

  11. #31
    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
    Erreur classique : j'ai oublié que fgets renvoyait le caractère de fin de ligne.
    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
    <?php
    $sth = $cnx->prepare("INSERT INTO `dico` VALUES (:nom, :synonymes);");
    $handle = fopen('file.txt', 'r');
    if ($handle)
    {
        while (!feof($handle))
    	{
    		$ligne = fgets($handle);
                $parts = explode("|", $ligne);
                if (!empty($parts)) {
                    if (intval($parts[1]) == 1) {
    					$mot = $parts[0];
                    }
                    else {
                         unset($parts[0]);
                         $synonymes = implode(",", $parts );
                         echo $mot . ' : ' . $synonymes . '<br/>';
                         $sth->execute(array(':mot'=>$mot, ':synonymes'=>$synonymes));
                    }
                }
    	}
    	fclose($handle);
    }
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #32
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut

  13. #33
    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
    tu ne cherches pas trop j ai mis "nom" au lieu de "mot" dans la requête
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #34
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut
    C'est parce que tu avais l'air de t'amuser. Qui suis-je pour ôter un jouet à quelqu'un le jour de Noël ?

    La page n'affiche aucune erreur, mais la base n'est pas remplie

    à : chez,dans,parmi
    abaca : chanvre,chènevière,filasse,jute
    abaissable : abattable,inclinable
    abaissant : avilissant,humiliant,mortifiant,dégradant,vexant,honteux,écrasant,blessant
    abaissé : avili,rabaissé,déconsidéré,diminué,déchu,disqualifié,discrédité,dévalorisé,dévalué
    abaisse-langue : spatule,manche

    Le code complet :

    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
    <?php
    $user='root';
    $pass='';
    $cnx = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    $sth = $cnx->prepare("INSERT INTO `dico` VALUES (:mot, :synonymes);");
    $handle = fopen('file.txt', 'r');
    if ($handle)
    {
        while (!feof($handle))
    	{
    		$ligne = fgets($handle);
                $parts = explode("|", $ligne);
                if (!empty($parts)) {
                    if (intval($parts[1]) == 1) {
    					$mot = $parts[0];
                    }
                    else {
                         unset($parts[0]);
                         $synonymes = implode(",", $parts );
                         echo $mot . ' : ' . $synonymes . '<br/>';
                         $sth->execute(array(':mot'=>$mot, ':synonymes'=>$synonymes));
                    }
                }
    	}
    	fclose($handle);
    }
    ?>

  15. #35
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 47
    Points : 0
    Points
    0
    Par défaut
    ça y est j'ai trouvé et c'est pas grace à toi.

  16. #36
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par naivenu Voir le message
    ça y est j'ai trouvé et c'est pas grace à toi.

    Quand quelqu'un comme sabotage écrit 15 messages pour t'aider, le minimum est de le remercier, et delui témoigner du respect.
    Citation Envoyé par naivenu Voir le message
    ...Qui suis-je pour ...
    J'ai bien ma petite idée...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [RegEx] Petite broutille sur expressions régulières
    Par Sanceray3 dans le forum Langage
    Réponses: 2
    Dernier message: 01/09/2009, 14h00
  2. [RegEx] Petite vérification d'expression régulière
    Par psychoBob dans le forum Langage
    Réponses: 23
    Dernier message: 04/06/2006, 21h28
  3. petit problème d'expression régulière
    Par stoyak dans le forum Langage
    Réponses: 5
    Dernier message: 16/05/2006, 11h20
  4. [regexp] petit problème d'expression régulière
    Par LE NEINDRE dans le forum Langage
    Réponses: 14
    Dernier message: 16/12/2005, 10h33
  5. [RegEx] Petit Bug sur Expression Régulière
    Par Delphy113 dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2005, 20h48

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