Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 27/07/2011, 10h56   #1
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : -2
Points : -2
Par défaut Comment écrire ce simple code php ?

Bonjour

Je n'arrive pas à faire en sorte que les variables sont intégrer à mon $link
Ça fait 1 heure que je suis dessus, y'a un truc que je ne maitrise pas encore dans le langage d'écriture de base de variable...
si vous pouviez me corriger un peu ça et me dire ce qui ne va pas.
Je ne vous en remercierais jamais assez !!!

Code :
1
2
3
4
5
6
7
8
9
$Lay = $_REQUEST['Lay'];
$Prod = $_REQUEST['Prod'];
$Max = $_REQUEST['Max'];
 
$link = "http://www.monsite.fr/insitephp/include-boucle/cm-view-listing-complet.php?Lay=$Lay&Prod=$Prod&sortfield=PRIXVTTCA&Max= $Max";
 
function include_link()
{
    include $link;
Jean-Seba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 11h24   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 118
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 118
Points : 8 467
Points : 8 467
utilise http_build_query, par contre t'as autorisé l'include distant ?
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 11h30   #3
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 776
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 776
Points : 2 340
Points : 2 340
Regarde un tuto sur la concaténation sinon.
C'est plus propre de faire ça comme ça :
Code :
$link = "texte".$variable."texte";
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2011, 11h37   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
remplacer aussi "&" par "&"
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$Lay = $_REQUEST['Lay'];
$Prod = $_REQUEST['Prod'];
$Max = $_REQUEST['Max'];
 
// lien
$link = 'http://www.monsite.fr/insitephp/include-boucle/cm-view-listing-complet.php?Lay='.$Lay.'&amp;Prod='.$Prod.'&amp;sortfield=PRIXVTTCA&amp;Max='.$Max;
// http_build_query —> Génère une chaîne de requête en encodage URL
$link = http_build_query($link);
include_link($link);
 
// fonction
function include_link($link)
{
    include ($link);
}
?>
Je suppose que ta fonction include_link() fait "plus" qu'un "include" (?). Sinon, elle ne sert pas à grand'chose ...
include ($link); dans le code suffit.
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 27/07/2011, 11h39   #5
Modérateur
 
Inscription : septembre 2010
Messages : 7 118
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 118
Points : 8 467
Points : 8 467
Citation:
Envoyé par jreaux62 Voir le message
Bonjour,
remplacer aussi "&" par "&amp;"
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$Lay = $_REQUEST['Lay'];
$Prod = $_REQUEST['Prod'];
$Max = $_REQUEST['Max'];
 
// lien
$link = 'http://www.monsite.fr/insitephp/include-boucle/cm-view-listing-complet.php?Lay='.$Lay.'&amp;Prod='.$Prod.'&amp;sortfield=PRIXVTTCA&amp;Max='.$Max;
// http_build_query —> Génère une chaîne de requête en encodage URL
$link = http_build_query($link);
include_link($link);
 
// fonction
function include_link($link)
{
    include ($link);
}
?>

test ton code avant de poster n'importe quoi
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/07/2011, 06h03   #6
 
Inscription : juillet 2007
Messages : 28
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 28
Points : -2
Points : -2
Par défaut Je ne comprends pas l'erreur

J'ai testé le code ci-dessus

j'ai un message d'erreur

Citation:
Warning: http_build_query() [function.http-build-query]: Parameter 1 expected to be Array or Object. Incorrect value given in C:\inetpub\wwwroot\insitephp\afficher-cm.php on line 13
Pourquoi ?
Jean-Seba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2011, 10h14   #7
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
tout simplement parce que la fonction attend un tableau ou un objet alors que tu lui refiles autrechose (une variable qui contient autrechose).
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2011, 10h21   #8
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
ci dessous une erreur grave, tu as des variables qui ne sont pas controlée et tu les déguises en variable banale. C'est comme à l'aéroport, faut leur faire passer le portique à tes variables avant de les déguiser ... sinon les dupliquer ne sert à rien...
Code :
1
2
3
$Lay = $_REQUEST['Lay'];
$Prod = $_REQUEST['Prod'];
$Max = $_REQUEST['Max'];
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 01h40   #9
Membre éprouvé
 
Avatar de Gecko
 
Homme Antoine B
Développeur Web
Inscription : février 2011
Messages : 106
Détails du profil
Informations personnelles :
Nom : Homme Antoine B
Âge : 27
Localisation : France, Nord (Nord Pas de Calais)

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

Informations forums :
Inscription : février 2011
Messages : 106
Points : 409
Points : 409
Envoyer un message via MSN à Gecko Envoyer un message via Skype™ à Gecko
Citation:
Envoyé par FirePrawn Voir le message
Regarde un tuto sur la concaténation sinon.
C'est plus propre de faire ça comme ça :
Code :
$link = "texte".$variable."texte";
C'est plus propre de faire :
Code php :
$link = 'texte'.$variable.'texte';

Celle que tu as montré n'est pas propre, quand tu utilises des doubles quottes (") pour encapsuler le contenu d'une variable php vas chercher dans ce contenu si d'autres variables ont été déclarées.

Donc d'un point de vue ressources et optimisation le mieux reste de ne pas utiliser de doubles quottes et de concaténer les variables dans des quottes simples.

Un site à visiter si tu veux optimiser les performances de ton site : http://www.phpbench.com/
Gecko est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 12h06   #10
Modérateur
 
Inscription : septembre 2010
Messages : 7 118
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 118
Points : 8 467
Points : 8 467
Citation:
Envoyé par Toine.pro Voir le message
Donc d'un point de vue ressources et optimisation le mieux reste de ne pas utiliser de doubles quottes et de concaténer les variables dans des quottes simples.
non ça ne change rien

par contre c'est plus rapide de faire :
Code :
$link = "texte{$variable}texte";
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h12.


 
 
 
 
Partenaires

Hébergement Web