Rechercher : dans
Par :

Redirection Flash/PHP

Dernière réponse le 3 jun 2009 à 18:03:02 Zorg, le 3 jun 2009 à 10:40:03 
 Signaler ce message aux modérateurs

Bonjour,
J'ai un formulaire flash qui est traité via un page php.
J'aimerais qu'après ce traitement, mes données s'affichent dans un page X.php.
Seulement le header ne marche pas, puisque ma page de traitement n'est pas visible.

Comment faire?

Merci,, Zorg

Configuration: Windows XP
Firefox 3.0.4

Meilleures réponses pour « Redirection Flash/PHP » dans :
[Webmaster] Faire une redirection VoirLes différentes solutions sont présentées de la meilleure (.htaccess) à la moins bonne (JavaScript). Un .htaccess Le .htaccess est à placer dans le répertoire qui doit être redirigé. On applique une redirection de cette façon : RedirectPermanent...
[PHP] Headers already sent by..... VoirLorsque vous utilisez une fonction PHP qui manipule les en-têtes HTTP comme par exemple: header() setcookie() session_start() Il est important d'utiliser ces fonctions avant d'avoir généré le moindre flux vers le client. A partir du moment où...

1

isis59, le 3 jun 2009 à 11:07:06

Je suis peut etre bête, mais je n'ai rien compris du tout. tu peux ré-expliquer stp

Répondre à isis59

2

Zorg, le 3 jun 2009 à 11:12:45

J'ai un formulaire en flash. Dedans l'utilisateur entre des données. Puis appuie sur le bouton "Envoyer".
Là, cela envoie mes données à une page de traitement PHP qui les insère dans la base de données.
Après cela, j'aimerai que s'ouvre une nouvelle page. Mais je ne trouve pas comment faire.
J'espère avoir été plus claire.

Répondre à Zorg

3

isis59, le 3 jun 2009 à 11:21:15

Ah la je suis désolé je n'y connais rien en flash je ne peux rien pour toi. ce doit etre faisable en javascript je pense mais la encore une fois je ne suis pas compétente ^^ (oui je sais je suis bonne a rien) bon courage

Répondre à isis59

4

Zorg, le 3 jun 2009 à 12:27:19

Merci quand meme

Répondre à Zorg

5

ACervoise, le 3 jun 2009 à 12:32:15

Je ne comprend pas si tu veux le moyen lancer ton script PHP depuis Flash ou si tu veux la redirection après avoir envoyé et traité ces données.

Lancer un script PHP depuis Flash (en AS3) : navigateToURL(new URLRequest("tapage.php"), "_parent");

Redirection en PHP : <?php header('Location:http://tonsite.com/'); ?>

Répondre à ACervoise

6

Zorg, le 3 jun 2009 à 12:52:36

Je veux afficher une nouvelle page, pas ma page de traitement.
En mettant le header à la fin de ma page de traitements, rien ne se passe.

Répondre à Zorg

7

ACervoise, le 3 jun 2009 à 12:56:09

Tu peux détailler un peu ? Tu travailles sur un serveur virtuel ?

Répondre à ACervoise

8

Zorg, le 3 jun 2009 à 13:25:26

Un serveur EasyPHP oui.
Détailler? Que dire de plus?

Répondre à Zorg

9

ACervoise, le 3 jun 2009 à 13:28:25

J'ai compris que tu avais un fichier Flash quilance un script PHP et tu veux qu'a la fin de ce sript, ça lance une autre page PHP c'est bien cela ?

Si oui il te suffit de terminer ton script PHP par " <?php header('Location:lautrepage.php'); ?>" en t'assurant que lautrepage.php est dans le même dossier.

Répondre à ACervoise

10

Zorg, le 3 jun 2009 à 13:51:18

Oui mais cela ne fonctionne pas!

Répondre à Zorg

11

ACervoise, le 3 jun 2009 à 13:52:49

C'est la seul instruction qui ne fonctionne pas ?

Répondre à ACervoise

12

Zorg, le 3 jun 2009 à 14:03:52

Ouep le reste fonctionne parfaitement.

Répondre à Zorg

13

ACervoise, le 3 jun 2009 à 14:08:54

Tu utilises des includes dans ton fichier ?

Peut tu me l'envoyer que je le test ?

Répondre à ACervoise

14

Zorg, le 3 jun 2009 à 14:17:16

Voila le fichier php (de traitement des données flash donc):

<?php

//Insertion dans la base de donnée

function decoder($texte){
        $texte = utf8_decode($texte); // converti en iso-8859-1
        $texte = stripslashes($texte); // élimine les anti-slashs d'échappement
        $texte = nl2br($texte); // converti les retours  en <br />
        $texte = trim($texte); // élimine les '\n', '\r', '\t' etc
        return $texte;
}
 
$erreurPHP="";
 
//Paragraphe à decommenter pour tester le script php  sans le flash
/*$_POST['codereg'] = 'test';
$_POST['coord'] = 'formulaire Test';
$_POST['email'] = 'formulaire Test';
$_POST['tel'] = 'formulaire Test';
$_POST['nbsal'] = 'formulaire Test';
$_POST['nomapp'] = 'formulaire Test';
$_POST['ageapp'] = 'formulaire Test';*/


 
if(isset($_POST['codereg']))$code = $_POST['code'];
else $erreurPHP .= "Variable 'code' non transmise\n";

if(isset($_POST['coord']))$coord = $_POST['coord'];
else $erreurPHP .= "Variable 'coord' non transmise\n";

if(isset($_POST['email']))$email = $_POST['email'];
else $erreurPHP .= "Variable 'email' non transmise\n";

if(isset($_POST['tel']))$tel = $_POST['tel'];
else $erreurPHP .= "Variable 'tel' non transmise\n";

if(isset($_POST['nbsal']))$nbsal = $_POST['nbsal'];
else $erreurPHP .= "Variable 'nbsal' non transm ise\n";

if(isset($_POST['nom']))$nom = $_POST['nom'];
else $erreurPHP .= "Variable 'nom' non transmise\n";

if(isset($_POST['age']))$age = $_POST['age'];
else $erreurPHP .= "Variable 'age' non transmise\n";


if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
else
{
	require "fonctions.php"; fonctions de connexion et d'exécution de requête
	connexion();
	//Générer le paramètre URL
	$chaine = random(9); génère un paramètre unique qui servira pour voir les infos via l'URL
	//Requête d'insertion dans la base de données
	$req="INSERT INTO estim VALUES('$code','$coord','$email','$tel','$nbsal','$nom','$age','$chaine');";
	$res = requete($req);	
	//header('location:estimation.php?code=$chaine'); le header qui ne marche pas


?>


Même sans le paramètre, le header ne fonctionne pas.

Répondre à Zorg

15

ACervoise, le 3 jun 2009 à 14:25:48

Ton dernier else n'est pas fermé ( " }" manquant ) ça ne vient pas de là ?

Répondre à ACervoise

16

Zorg, le 3 jun 2009 à 14:28:59

Nan c'est juste que j'ai effacé des essais javascript avant de le coller ici...

Je CRAQUE

Répondre à Zorg

17

Zorg, le 3 jun 2009 à 14:34:22

Voici le bout de code AS2 qui envoie les infos à ma page PHP:

btEnvoyer.onRelease = function():Void
{
	trace("bouton envoyer");
	//Vérification du formulaire:
	var erreurs:String = validerFormulaire(); Vérification du formulaire, champs bien remplis, etc...
	
	//S'il n'y a pas d'erreurs, envoi du formulaire:
	if (erreurs == "") {
		envoyerForm();
	}
	//S'il y en a, affichage des erreurs:
	else 
	{
		trace(erreurs);
		afficherEnSortie(erreurs);
	}
}


Dans ma fonction envoyerForm on a:
function envoyerForm():Void
{
	btEnvoyer.enabled = false;
	
	var envoyeur:LoadVars = new LoadVars();
	var receveur:LoadVars = new LoadVars();	
	
	envoyeur.code = code;
	envoyeur.coord = coord;
	envoyeur.email = email;
	envoyeur.tel = tel;
	envoyeur.nbsal = nbsal;
	envoyeur.nom = nom;
	envoyeur.age = age;

	envoyeur.sendAndLoad("flashphp.php", envoyeur, "POST");

}

Répondre à Zorg

18

 Zorg, le 3 jun 2009 à 18:03:02

Même le javascript ne fonctionne pas... bouh!

Répondre à Zorg
Collection CommentÇaMarche.net