require_once bloqué par flash

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : require_once bloqué par flash

par Sékiltoyai » 26 juil. 2009, 18:57

bon j'ai trouvé la réponse,
Dans tout les require_once si un php à un espace vide autre qu'entre les balise <? et ?>, cela crée un blanc que flash transforme en ligne vide, les variables se retrouvent alors sur la deuxième ligne et il ne comprend pas le retour.
D'où :
Euh, du coup, qu'est ce que tu reçois dans ton code AS quand ça buggue ? Quel texte as-tu dans ta variable ?
:)
je suis désolé de vous avoir dérangé pour ce problème qui ressemble fortement a un bug de flash.
Un bug est un bug, d'où qu'il vienne. Ce n'est pas d'où vient le bug qui importe, c'est comment on s'y prend pour le trouver. On a beau être un boss en Flash ou en PHP (ou les deux !), si on n'a pas une méthodologie correcte pour trouver le bug, on peut y passer longtemps…
merci a tous pour vos réponses
De rien, si on a pu t'être utile. :wink:

par Invité » 26 juil. 2009, 18:41

bon j'ai trouvé la réponse,
Dans tout les require_once si un php à un espace vide autre qu'entre les balise <? et ?>, cela crée un blanc que flash transforme en ligne vide, les variables se retrouvent alors sur la deuxième ligne et il ne comprend pas le retour.
donc si a la fin du fichier php appelé on termine par un retour chariot la balise comme ceci
?>.
.
, flash interprète celà comme un retour à la ligne dans le chargeur de variables et recoit :
"

reponse=oui
"

alors que si on appèle le php directement dans le browser le resultat est :
"
reponse=oui
"
sans ligne vide dedans.

je suis désolé de vous avoir dérangé pour ce problème qui ressemble fortement a un bug de flash.

merci a tous pour vos réponses

par Invité » 26 juil. 2009, 18:15

bon je pense que c'est une erreur d'encodage:

j'ai changer le php principal en :

<?php
print "reponse=";
require_once("requ.php";
print $rep;
?>

et là j'ai reponse=oui afficher dans flash, ce qui veut dire que flash a recu reponse=reponse=12

par contre

si je fait un php principal comme ceci :

<?php
print "reponse=oui";
?>

j'ai oui dans le flash

si je fait

<?php
require_once(requ.php);
print "reponse=oui";
?>

j'ai rien dans le flash.

et si je fait

<?php
print "reponse=";
require_once(requ.php);
print "reponse=oui";
?>

j'ai reponse=oui dans le flash.

on dirait que flash ne comprend pas les caractères placé envoyé après le require_once.

le require_once est donc exécuté, mais l'encodage des caractère semble changé après.

par Sékiltoyai » 26 juil. 2009, 17:11

Par hasard une erreur PHP ^^ , affiche la pour savoir ^^ :roll:
(Même pas à mon humble avis)

par thehawk » 26 juil. 2009, 17:09

Par hasard une erreur PHP ^^ , affiche la pour savoir ^^ :roll:

par Sékiltoyai » 26 juil. 2009, 17:06

Euh, du coup, qu'est ce que tu reçois dans ton code AS quand ça buggue ? Quel texte as-tu dans ta variable ?

par Invité » 26 juil. 2009, 16:54

stop();
var requeteUrl:URLRequest=new URLRequest("testrequ.php");
requeteUrl.method=URLRequestMethod.POST;
var chargeur:URLLoader = new URLLoader();// Instanciation de la classe URLLoader
chargeur.load(requeteUrl);// chargeur charge la requète URL.
chargeur.addEventListener(Event.COMPLETE, verifierCommandeCarte);
chargeur.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);


function verifierCommandeCarte(e:Event):void {
	var variables:URLVariables=new URLVariables(chargeur.data);
	bob.text=variables.reponse;
}
function ioErrorHandler(event:IOErrorEvent):void
{
	bob.text="ioErrorHandler: " + event;
}


bob étant le champ texte dynamique.
si je retire le riquire_once et que je met directement dans le php print("reponse=oui") ca fonctionne.

par Sékiltoyai » 26 juil. 2009, 16:29

Comment tu l'appelles dans ton code AS ?

par thierryRoussel » 26 juil. 2009, 15:26

le realpath est /Library/WebServer/Documents

et quand je fait require_once("/Library/WebServer/Documents/requ.php");

aucun résultat, par contre si je fait http://localhost/testrequ.php dans le browser tout marche parfaitement.
Seulement quand c'est appelé par flash cela ne marche pas.
Je ne comprend pas comment flash peut depuis le browser client bloquer les require_once coté serveur.
C'est incompréhensible.

par thehawk » 26 juil. 2009, 15:13

Peut être un souci d'url avec le flash (je ne sais pas du tout) dans le fichier appeler fait :
echo realpath("");
pour voir où tu es.

et donc faire le changement necessaire si il y a besoin.

Bye Hawk

par thierryRoussel » 26 juil. 2009, 15:08

voilà les deux codes :

testrequ.php (php principal appelé par flash)

<?php
require_once("requ.php")
print $rep;
?>

requ.php

<?
$rep="reponse=oui";
?>

ceci n'est qu'un test, pour tester les require_once, car le vrai php serait typo3 avec une integration flash.
comme j'ai découvert que le problème venait des require_once, j'ai reduit le test a sa plus simple expression.

par Sékiltoyai » 26 juil. 2009, 09:40

Mmmh.
Tu peux poster le code PHP (les deux) ?

require_once bloqué par flash

par thierryRoussel » 26 juil. 2009, 05:04

Bonjour,

après avoir posté dans les forum flash sans succès je me tourne vers la communauté php, voici le problème.

J'ai un php principal qui charge par require_once un autre php installé dans le même dossier.
Dans le browser tout marche bien.
Ce php est appelé par un site web en flash situé également dans le même dossier sur le serveur, dès que le php est appelé par flash, le require_once ne marche plus.
J'ai testé tout les type dans le require_once : relative path, full path. Ils fonctionne tous quand le php est appelé directement par le browser, mais pas quand il est appelé par le flash.
Si je recopie le contenue du require_once directement dans le fichier php principal, le flash fonctionne.
Donc le problème vient du require_once.

Le plus currieux est que quand le php est appelé par flash, il ne fini jamais et attend indéfiniment le require_once, sans émettre aucune erreur. Le browser indique qu'il est en attente de chargement indéfiniment.

Y a t'il quelquechose a configurer dans le php.ini ?

Quelqu'un aurait il une idée ?

Merci