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 :

[Dates] Problème avec mon application


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut [Dates] Problème avec mon application
    Bonjour a vous , je vous écris ses quelques lignes pour demander de l'aide par rapport a une application que j'ai modifier , en fait je me suis baser sur les ecris d'un livre en suivant bien les directive mais en l'adaptant a mon gout avec quelque fonction qui me sont propre.
    en fait mon application reste bloquer dans une fonction qui est elle même placer dans une classe , ma class fais plus de 600 lignes donc tous le codes serait inutile.
    je vais soumetre ici simplement la fonction qui pose probleme si vous avez une idée du probleme ce serais sympa .
    Bien entendu je veux bien donner toute l'application pour vous aidez dans la recherche de mon problème qui je vais dire me fais m'arracher les cheveux .
    En fait cette fonction me sert a recuperer la valeurs d'une variable d'ou qu'elle vienne sans modification de la configuration de php en tenant compte des différences de gestion des variables selon la version de 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
    function auto_variable ($nom, $order='gpc'){
    		for ($i=O; $i<strlen($order); $i++){
    			$x = strtoupper(substr($order, $i, 1));
    			if (phpversion() < "4.1.0") {
    				if ($x == 'g' && !isset($valeur)) {
    					$valeur = $GLOBALS['GET_VARS']["$nom"];
    				}
    				if ($x == 'p' && !isset($valeur)) {
    					$valeur = $GLOBALS['POST_VARS']["$nom"];
    				}
    				if ($x == 'c' && !isset($valeur)) {
    					$valeur = $GLOBALS['COOKIE_VARS']["$nom"];
    				}
    				if ($x == 's' && !isset($valeur)) {
    					$valeur = $GLOBALS["$nom"];
    				}
    			}
    			else {
    				if ($x == 'g' && !isset($valeur)) {
    					$valeur = $_GET["$nom"];
    				}
    				if ($x == 'p' && !isset($valeur)) {
    					$valeur = $_POST["$nom"];
    				}
    				if ($x == 'c' && !isset($valeur)) {
    					$valeur = $_COOKIE["$nom"];
    				}
    				if ($x == 's' && !isset($valeur)) {
    					$valeur = $_SERVER["$nom"];
    				}
    			}
    		}
    		return ($valeur);
    	}

  2. #2
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    Salut,

    je vois déjà un léger soucis à ta boucle for:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for ($i=O; $i<strlen($order); $i++){
    Ca, c'est un O majuscule, ce n'est pas un 0 (zero), alors que ca devrait être le cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for ($i=0; $i<strlen($order); $i++){

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    merci a vous je vais tester cela de suite , c'est vrai que mon erreur est très grave lol

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Voila je suis sortis de la boucle , mais maintenant j'ai un autre souçis avec mes requête automatique .

    j'ai ce message d'erreur :

    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
     requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like 'edito'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fromtut_produits, tut_prd_descriptionwhere 1 and tut_produits.prd_id = tut_' at line 1
    get_produits select*fromtut_produits, tut_prd_descriptionwhere 1 and tut_produits.prd_id = tut_prd_description.prd_id and tut_prd_description.langue like 'fr' and tut_produits.actif=1order bydt_entree descorder bydt_entree desclimit0.4 (
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 339
    )
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 341
    requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like 'meta_title'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like 'meta_description'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like 'meta_keywords'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like 'meta_title'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like 'meta_description'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
    requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like 'meta_keywords'and langue like 'fr'' at line 1
     
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\examenfinale\class_tutorial.php on line 614
     requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''fr' ,now() , '' ,'','')' at line 1
    maj_stats_trafic (base:tutorial)(cde:insert into tut_stats_trafic(langue, date, ip, referer, page)('fr' ,now() , '' ,'',''))(erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''fr' ,now() , '' ,'','')' at line 1)
    le code en question est le suivant dans la classe :

    function get_parametre ($cle){
    //--nom de la table
    $tbl = $this->nom_table('parametres');
    $cde = "select valeur from $tbl";
    $cde .= "where code like '$cle'";
    $cde .= "and langue like '$this->langue'";
    $result = $this->requete_sql($this->db, $cde);
    while ($row = mysql_fetch_object($result)) {
    return ($row->valeur);
    }
    return ('');
    }
    la ligne 614 est la boucle while ...
    Est ce un problème dit de majuscule ,minuscule ou mes requêtes sont elles mal interprêter ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 24
    Par défaut
    Je n'ai pas vérifé, mais le test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (phpversion() < "4.1.0")
    me semble dangereux. Es tu sûr que Php sait comparer les versions sous forme de string ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    oui bien sur et si j'ai ecris ceci c'est pour eviter que si mon serveur distant etais anterieur a une version 4.2 (register globals sur on) c'est pour ne pas devoir chercher un serveur sup a 4.3 .
    je veux dire par la que c'est plus question pratique , sa m'evite de dvoir réécrire tous si je veux evoluer vers la 5 par exemple.
    j'ajoute que j'ai ecris ceci aussi pour securiser mes requetes j'ai fais ceci :
    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
     
    /*fonction de protection d'une requête SQL*/
    function quote_smart ($valeur){
    		if (phpversion() < "4.3.0") {
    			$valeur = addslashes($valeur);
    		}
    		else {
    			//----stripslashes
    			if (get_magic_quotes_gpc()) {
    				$valeur = stripslashes($valeur);
    			}
    			//---protection si ce n'est pas un entier
    			if (!is_numeric($valeur)) {
    				$valeur = mysql_real_escape_string($valeur);
    			}
    		}
    		return $valeur;
    	}
    Mais cela ne resous pas les contrainte que j'ai avec mes requêtes comme citer plus haut

  7. #7
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    Salut,

    lorsque tu concatènes dans ta fonction, tu oublies plein d'espaces, ce qui te donne des requêtes incorrectes...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    function get_parametre ($cle){
    //--nom de la table
    $tbl = $this->nom_table('parametres');
    $cde = "select valeur from $tbl ";
    $cde .= " where code like '$cle' ";
    $cde .= " and langue like '$this->langue' ";
    $result = $this->requete_sql($this->db, $cde);
    while ($row = mysql_fetch_object($result)) {
    return ($row->valeur);
    }
    return ('');
    }
    Ca devrait mieux fonctionner là, déjà.
    NB: tu pouvais voir ca dans les erreurs que tu nous as collées ici, d'ailleurs...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    requete_sql _sql erreur:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fromtut_produits, tut_prd_descriptionwhere 1 and tut_produits.prd_id = tut_' at line 1

Discussions similaires

  1. Problème avec mon application Soundboard
    Par jule700 dans le forum Android
    Réponses: 2
    Dernier message: 03/03/2014, 11h10
  2. Problème avec mon application
    Par kazylax dans le forum C#
    Réponses: 3
    Dernier message: 31/10/2012, 15h42
  3. probléme avec mon GUI Application
    Par lisco dans le forum Qt
    Réponses: 8
    Dernier message: 26/06/2009, 16h19
  4. Problème d'execution avec mon application
    Par jfdmagic dans le forum Installation, Déploiement et Sécurité
    Réponses: 9
    Dernier message: 29/05/2009, 13h23
  5. [MySQL] problème avec mon application de recherche php/mysql
    Par cuisto44000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/06/2008, 03h01

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