Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/08/2007, 17h06   #1
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
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 :
$url2="profil_client.php?id_user=$id_user&code_client=$code_client&login=$login&password=$password";
et le résultat
Code :
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
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2007, 21h02   #2
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

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

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Essaye ceci:

Code :
$url2='profil_client.php?id_user='.$id_user.'&code_client='.$code_client.'&login='.$login.'&password='.$password;
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 09h04   #3
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
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
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 09h07   #4
Rédacteur
 
Avatar de Yoteco
 
Alain Sahli
Ingénieur développement logiciels
Inscription : décembre 2004
Messages : 1 086
Détails du profil
Informations personnelles :
Nom : Alain Sahli
Âge : 25

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

Informations forums :
Inscription : décembre 2004
Messages : 1 086
Points : 1 479
Points : 1 479
Peux-tu nous montrer un peu plus de code? Par exemple ou tu utilises cette url.
Yoteco est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 09h23   #5
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
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 :
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 :
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
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 10h42   #6
Futur Membre du Club
 
Aurélien
Inscription : juin 2007
Messages : 28
Détails du profil
Informations personnelles :
Nom : Aurélien
Âge : 26

Informations forums :
Inscription : juin 2007
Messages : 28
Points : 19
Points : 19
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 :
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....
Aureliien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 10h46   #7
Membre actif
 
Inscription : juillet 2007
Messages : 179
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : juillet 2007
Messages : 179
Points : 159
Points : 159
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 :
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 :
$query1 = "SELECT * FROM profile WHERE code_client='".$code_client."'";


j'ai trouvé d'où venait le problème,
dans url2 j'avais mis
Code :
"...?code_client='".$code_client."'...."
désolé, le boulet c'est moi
sebdu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h26.


 
 
 
 
Partenaires

Hébergement Web