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 :

problème d'ajout de \' dans l'url


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut problème d'ajout de \' dans l'url
    bonjour,

    je ne comprends pas comment éviter que dans mon url où je passe plusieurs variables en GET soient rajoutés de \'

    voilà mon code où je récupère l'url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url2="profil_client.php?id_user=$id_user&code_client=$code_client&login=$login&password=$password";
    et le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/application/profil_client.php?id_user=\'1\'&code_client=21726&login=\'seb\'&password=\'123\'
    (je précise quand même que le password est crypté pour ne pas être reproductible)
    est ce que quelqu'un pourrait m'aider, je suis perdu là

    (je ne pourrai répondre que demain je pars du boulot)

    merci
    ...

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url2='profil_client.php?id_user='.$id_user.'&code_client='.$code_client.'&login='.$login.'&password='.$password;
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    merci pour ta réponse,

    j'avais déjà essayé la même chose avec les " mais pas avec ',
    hélas ça ne change rien, pourtant je ne mets même pas de ' dans ma requête, c'est peut être ça le problème
    ...

  4. #4
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Peux-tu nous montrer un peu plus de code? Par exemple ou tu utilises cette url.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    j'ai ressorti les données de la base elles sont nickel mais par contre quand je les affiche il a ajouté des antislashes, pourtant je ne fais pas appel à addslashes() dans mon code et c'est la seule fois où il me fait ça, j'ai des liens dynamiques sur chaque page et il ne me rajoute ces p... de slashes qu'après un retour d'une autre page
    je ne vois pas où est le problème
    d'où peut venir le problème?
    est ce que je dois changer un paramètre de config ?

    (je vais chercher sur internet mais ça me ferait gagner du temps)

    merci

    j'ai trouvé ça, je pense que ça devrait marcher

    http://www.developpez.net/forums/sho...d.php?t=382497
    je dis si ça marche après

    ça ne marche pas avec
    magic_quotes_gpc=off

    j'ai pas non plus envie de faire un stripslashes de chacune de mes variables

    désolé, j'ai pas regardé les autres messages

    voici ma page
    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
    <?php
    require 'connect.php';
    //recupere "code_client", "nom", "prenom", "tel", "type_client", "id_user" en "POST"
     
    //si "code_client" est reçu ou existe ou que nom,prenom,tel sont bons, transmet en "GET" à "profil_client.php", "code_client" et "id_user" (1)
    //si code_client n'existe pas:
    // - si "nom" et "prenom" existent : transmet "nom", "prenom", "tel", "type_client", "id_user" à "tel_profil.php" (2)
    // - si "nom" et "prenom" n'existent pas : transmet "nom", "prenom", "tel", "type_client", "id_user" à "nouveau_profil.php" (3)
     
     
    $code_client=$_POST['code_client'];
    $nom=$_POST['nom'];
    $prenom=$_POST['prenom'];
    $tel1=$_POST['tel1'];
    $type_client=$_POST['type_client'];
    $id_user=$_POST['id_user'];
    $login=$_POST['login'];
    $password=$_POST['password'];//password est recupere en POST et doit etre transmis en GET donc appel de cryptage.php
     
    //test du password recu en POST
    $query = "SELECT * FROM user WHERE login='".$login."' AND password='".$password."'";
    $resultat = mysql_query($query);
    $num_resultat = mysql_num_rows($resultat);
     
    if(!$num_resultat) 
    	{
    	echo "<a href=identification_seb.php>$query</a>";
    	/*
    		print("<script language=\"JavaScript\" type=\"text/javascript\">");
    		print("location.href='identification_seb.php?test_profil=0'");
    		print("</script>");
    	exit;*/
    	}
     
     
    /*********************************************************************** REQUETE 1 ***********************************************************************/
    if(isset($_POST['code_client']))
    {
    $query1 = "SELECT * FROM profile WHERE code_client='".$code_client."'";
    $resultat = mysql_query($query1);
     
     
    $num_resultat = mysql_num_rows($resultat);
    echo $query1."<br>".$query2."<br>";
    if($num_resultat)//code_client est OK
    	{
    	$tab_resultat = mysql_fetch_array($resultat, MYSQL_ASSOC);
    	$code_client=$tab_resultat['code_client'];
    	echo "code client ok<br>";
    	$url2="profil_client.php?id_user='".$id_user."'&code_client='".$code_client."'&login='".$login."'&password='".$password."'";
    	}
    	else//code client n'existe pas
    	{
    	echo "code client pas ok<br>";
    	$url2="cherche_profil_seb.php?id_user=".$id_user."&login=".$login."&password=".$password."";
    	}
    }
    /*********************************************************************** REQUETE 2 ET 3 ***********************************************************************/
    else 	//test sur nom et prenom
    	{
    	$query = "SELECT * FROM profile WHERE nom='".$nom."' AND prenom='".$prenom."'";
    	$resultat = mysql_query($query);
    	$num_resultat = mysql_num_rows($resultat);
    	if(mysql_num_rows($resultat))//nom et prenom existent
    		{
    		$url2="profil_client.php?id_user=$id_user&nom=$nom&prenom=$prenom&tel1=$tel1&type_client=$type_client&login=$login&password=$password";
    		}
    	else//si nom et prenom n'existent pas
    		{
    		if( empty($nom)===false && empty($prenom)===false && empty($tel1)===false)//mais sont remplis
    		$url2="nouveau_profil_seb.php?id_user=$id_user&nom=$nom&prenom=$prenom&tel1=$tel1&type_client=$type_client&login=$login&password=$password";
    		else//mais ne sont pas remplis
    		$url2="cherche_profil_seb.php?id_user=".$id_user."&login=".$login."&password=".$password."";
    		}
    	}
     
    //au cas où il faudrait refaire des tests je garde
    	echo"<a href=\"".$url2."\">".$url2."</a>";
    /*
    echo "<script language=\"JavaScript\" type=\"text/javascript\">";
    			
    				print("location.href='$url2';");
    				print("</script>");
    */
    ?>
    il s'agit d'une application en local pour des gens qui n'y comprennent pas grand chose donc je laisse le password en clair (pour l'instant)

    puisque j'y suis, y a t-il un moyen plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    echo "<script language=\"JavaScript\" type=\"text/javascript\">";
     
    				print("location.href='$url2';");
    				print("</script>");
    pour faire ça?
    j'ai déjà essayé avec header ça créé un warning headers already sent

    en fait il me rajoute carrément \'1\' si je tape 1
    et ça pour tous les champs maintenant
    je débute et là j'ai du mal à comprendre ce qui se passe

    quelqu'un a une idée????
    merci
    ...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Points : 27
    Points
    27
    Par défaut
    Salut !

    Je ne suis pas sur du tout, mais il semblerait qu'il y ai quelque chose qui cloche dans ton print... tu met une simple quote autour de $url2... et ça ne doit pas plaire à PHP.... surtout qu'il n'y a pas de raison d'être...
    Essaie peut être le script suivant.... sans conviction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<script language="JavaScript" type="text/javascript">';	
    echo 'location.href="$url2";';
    echo '</script>';
    En esperant que ça t'eclaire...

    PS : je suis un maniaque anti-doublequote dans les echos.... ça entraine la plupart du temps des emmerdes....

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    181
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 181
    Points : 189
    Points
    189
    Par défaut
    merci pour la réponse et l'info '/"
    je viens de tester, ça ne marche pas non plus, je vais chercher de ce côté là


    j'ai remis la partie redirection en fonctionnement (enlevé /**/) et il ne redirige pas ma page, je ne sais pas si c'est une indication mais là je cherche de tous les côtés.......désespérant mais je l'aurai

    la redirection marche, j'avais fais une petite erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<script language="JavaScript" type="text/javascript">';	
    echo 'location.href="'.$url2.'"';
    echo '</script>';
    (oublié '..' autour de url2)

    est ce que ça peut venir de ma requête ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query1 = "SELECT * FROM profile WHERE code_client='".$code_client."'";


    j'ai trouvé d'où venait le problème,
    dans url2 j'avais mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "...?code_client='".$code_client."'...."
    désolé, le boulet c'est moi
    ...

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

Discussions similaires

  1. Soucis d'ajout de '\' dans les URL
    Par SausauRjaws dans le forum Langage
    Réponses: 3
    Dernier message: 01/11/2011, 02h30
  2. Problème Gridview et paramètre dans l'URL
    Par krovomi dans le forum ASP.NET
    Réponses: 10
    Dernier message: 12/12/2009, 10h26
  3. Des problèmes pour ajouter valeur dans une ArrayList
    Par Fused dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 07/11/2008, 16h28
  4. [MySQL] problème formulaire ajouter entrées dans bdd
    Par _alex_ dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/12/2006, 20h08
  5. Problème d'ajout multiples dans un BDD Access
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2004, 13h34

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