Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
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 06/12/2007, 22h32   #1
Membre à l'essai
 
Inscription : novembre 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 116
Points : 21
Points : 21
Par défaut comment passer plus d'une variable dans une URL

Bonjour, la crise !
Mon problème : comment passer deux variable dans une URL. Car chez moi ça ne marche pas !
Avant tout je tien à signalé que je ne suis pas pro en php :
Voila en fait j’ai commencé à construire un template php, ce dernier possède l’architecture suivante :


root :
╠ source:
║ ╚ home.php
╚ index.php

Le navigation se fait de la manière suivante: index.php?action=‘variable

Alors dans index.php, on recupère la variable action depuis l’URL, ainsi on fait un ‘include’ pour afficher le contenue.
Par ex : ‘action=home‘

Avec une seule variable dans l’URL tout se passe bien ! Seulement lorsque je veux introduire deux variable ou plus (ex : index.php?action=home?truc=10’), le contenue de home.php ne peut être inclus et j’obtiens les deux messages suivants:

Warning: main(source/home?truc=10.php): failed to open stream: No such file or directory in
d:\[…]\root\index.php on line 4

Warning: main(): Failed opening 'source/home?deb=10.php' for inclusion (include_path='.;C:\PROGRA~1\EASYPH~1\\php\pear\') in d:\[…]\root\index.php on line 4

J’avais compris à l’instant que c’était tout à fait logique puisque la variable ‘action’ est égale désormais à toute la chaine : ‘home?deb=10'. Alors que le fichier home?truc=10.php N’existe pas.

A savoir que la deuxième variable sera utilisé au niveau de «’home.php’ » et non dans index.php.

Voici les deux codes exemple pour home.php et index.php
::: INDEX.PHP, (à mettre dans la racine root/)
Code :
1
2
3
4
5
6
7
8
<?php
	if(isset($_GET['action'])){
		echo $_GET['action'];
		include('source/'.$_GET['action'].'.php');
	}else{
		include('source/home.php');
	}
?>
:::HOME.PHP. (À mettre dans root/source/)

Code :
1
2
3
4
5
6
7
8
<?php
if(isset($_GET['truc'])){
	echo $_GET['truc'];
	echo '<a class="lksite" href="index.php?action=home?truc='.($_GET['truc']+10).'"> Page suivante </a>';
}else{
	echo '<a class="lksite" href="index.php?action=home?truc=10"> Page suivante </a>';
}
?>
Mon bute est de faire un affichage page par page au niveau de home.php qui est inclus dans index.php.
J’attends vivement, une réponse merci (une urgence est signalée lol)
death_style est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 22h37   #2
Membre éclairé
 
Avatar de makmaoui
 
Développeur Web
Inscription : mai 2007
Messages : 282
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2007
Messages : 282
Points : 361
Points : 361
Salut,

la syntaxe pour passer des variables dans une URL est
index.php?variable1=valeur1&variable2=valeur2

c'est un "&" qu'il faut utiliser comme séparateur entre les variables et non pas un "?".
makmaoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2007, 22h57   #3
Membre à l'essai
 
Inscription : novembre 2007
Messages : 116
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 116
Points : 21
Points : 21
Merci ça marche,
death_style 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 16h26.


 
 
 
 
Partenaires

Hébergement Web