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 08/06/2011, 18h39   #1
Membre régulier
 
Chercheur
Inscription : août 2004
Messages : 180
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Chercheur
Secteur : Enseignement

Informations forums :
Inscription : août 2004
Messages : 180
Points : 73
Points : 73
Envoyer un message via MSN à androz
Par défaut Récupération de variable

Bonjour !

J'ai un souci avec le passage de variables dans l'URL.
J'ai une page php qui me redirige vers une autre page php en cliquant sur un lien qui comporte une variable. Jusque là rien d'extraordinaire. Dans cette page, j'ai un formulaire pour remplir un fichier xml dont le nom est la variable de l'URL. J'arrive à remplir le fichier si je donne le nom à la main, mais je suis incapable de le faire en récupérant la variable.
Pour récupérer la variable, je fais un $_GET['var'] et ça fonctionne (à ce détail près qu'il a fallu que je le parse en string, mais pourquoi ?). J'affiche le résultat de la variable avec un echo, et pas de souci. Seulement maintenant, si je veux écrire dans un fichier qui porte ce nom, impossible. Il me crée un fichier XML dont le nom est '.xml' et non 'mavar.xml'. De même, le header retourne vers une page ayant également comme variable la variable ?var=mavar, mais l'URL effectivement loadée est plutôt ?var=

Voici mon bout de code :

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
<?php
$serie = $_GET['serie'];
parse_str($serie);
$file = $serie.'.xml';
echo $file;
if(isset($_REQUEST['ajouter'])){
	$flux = file_get_contents($file);
	$titre = $_GET['titre'];
	$operateur = $_GET['operateur'];
	$description = $_GET['operation'];
	$date = date("d M Y");
	$old = ("<!--Insertion-->");
	$new = ("<!--Insertion-->
 
        <item>
        <title>".$serie."</title>
	<operateur>".$operateur."</operateur>
	<description type=\"text/html\">
	".$description."
	</description>
	<pubDate>".$date."</pubDate>
	</item>
	");
	$flux = str_replace($old, $new, $flux);
	unlink($file);
	$fp = fopen($file, "w");
	fwrite($fp, $flux);
	fclose($fp);
	header('Location: LogBooks.php?serie='.$serie);
}			
?>
Un gros merci pour votre aide !!!
androz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 11h24   #2
En attente de confirmation mail
 
Étudiant
Inscription : avril 2011
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 19
Points : 34
Points : 34
Un petit
Code :
1
2
3
var_dump($_GET)
// ou
var_dump($_REQUEST)
En début de ton script PHP pour voir ce que tu reçoit exactement.

Pourrait tu donner un exemple de ton lien et/ou verifier qu'il est bien de la forme :

Parce qu'a première vue, le code de réception à l'air correct
dev_cisii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 09h51   #3
Membre éprouvé
 
Homme romain escudier
Développeur informatique
Inscription : juin 2011
Messages : 300
Détails du profil
Informations personnelles :
Nom : Homme romain escudier
Âge : 22
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2011
Messages : 300
Points : 471
Points : 471
Je vois pas trop l'utilitee du parse_str mais bon.......
je pense que si tu le retire sa devrait fonctionner comme il faut

sinon comme dit dev regarde si l'url que tu rentre est bien correct et si le nom de la variable passee en get correspond EXACTEMENT a celle que tu veux recuperer
__________________
Pas de solution, pas de probleme

Une réponse utile (ou +1) le pouce vert
Une réponse à votre question

skeud est dé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 21h03.


 
 
 
 
Partenaires

Hébergement Web