Le-tangram.com [TUTO] [Flash / PHP / MySQL] - Flash/ActionScript - Programmation
Marsh Posté le 23-11-2005 à 09:34:17
qq'un comprend comment regler ce PB ?
http://validator.w3.org/check?verb [...] /index.php
mon site sur le Tangram ce voulant être un tutoriel XHTML CCS Flash PHP MySQL (rien que ca ), j'aimerais bien que accueil, sources et liens soit valide (pour jouer et creer c'est malheureusement impossible a cause des (nombreux) parametres que j'envoie a Flash en parametre et qui font planter le validateur)
j'ai aucun caracteres qui traine, et le pire c'est qu'il n'y a rien dans les guillemets du message d'erreurs...
j'utilise ce doctype ailleurs sans PB, seul difference c'est qu'ici au lieu d'etre en 8859 je suis en utf-8 pour simplifier l'interfacage Flash PHP MySQL...
j'ai essayer d'ajouter ca: header("Content-type: text/html; charset=UTF-8" );
...sans succes
Marsh Posté le 23-11-2005 à 13:55:19
Citation : The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported. |
tu t'en fous c'est le BOM
ou bien vires le
Marsh Posté le 23-11-2005 à 15:14:26
effectivement m'en fout du BOM, c'est pas ca qui me gene mais ca:
Citation : |
d'ailleurs je me suis foutu le doigt dans l'oeil, ca n'as rien a voir avec le charset vu qu'avec ISO-8859-1 j'ai le même PB
Marsh Posté le 23-11-2005 à 15:55:48
Citation : ���<?xml version="1.0" encoding="UTF-8" ?> |
Citation : ��� |
mais justement. Ce symbole designe le BOM (ce n'es pas le bom heinnn)
Supprimes le et dans le ca ou ton editeur le remet automatiquement a chaque fois qu'il sauve le document et bien change d'editeur
(Tu utilises quel editeur? )
Marsh Posté le 23-11-2005 à 16:13:16
Dreamweaver 8, et quand je fait enregistrer sous et que je decoche "inclure une signature unicode", j'ai pas l'impression que ca marche, j'ai aussi essayer de sauver mes pages avec notepad mais sans plus de succes...
a propos bom c'est l'histoire de grand boutien / petit boutien parcqu'un processeur x86 (intel ou AMD) ca fonctionne pas comme un processeur de macs qui lisent pas les octets dans le même ordre que les PC ou un truc du genre en fait j'ai rien compris a tous ca...
PB résolu avec Html Kit (hkedit) ou effectivement des caracteres invisibles était présent devant certaines de mes pages, je pense que ce n'est pas la faute de Dreamweaver dans la mesure ou , a mon avis, il enregistre en fonction du charset specifies, seulement j'utilise un header dans un fichier separes alors ca la mis un peu a la rue...
m'enfin en decochant ca aurait dut marcher
Marsh Posté le 23-11-2005 à 21:21:08
Notepad met aussi ces caractères si jme trompe pas
enfin si ca marche avec HtmlKit, tant mieux
Marsh Posté le 03-12-2005 à 10:13:28
Voila je voulais verifier que je n'avais pas laissé de faille béante de sécurité...
voila mon fichier php d'insertion de donnees:
Code :
|
et la recuperation des donnes de $_GET de jouer.php:
Code :
|
A votre avis, y a un PB ?
Marsh Posté le 04-12-2005 à 10:29:41
un conseil, au lieu d'utiliser ton "trucavirrer" (genre t'a pas virrer le --), utilise mysql_secure_escape (je suis plus sur a 100% du nom, mais c'est un truc dans ce style la)
Marsh Posté le 04-12-2005 à 12:24:02
mysql_real_escape_string() ?
Pour empecher les javascripts injections, j'ai fait un mix d'un code trouvé sur php.net et de mon ancien truc, qu'en pensez vous ?
Code :
|
Ps: pourquoi virer les --, qu'est ce qu'on peut faire avec des -- ?
Marsh Posté le 04-12-2005 à 18:18:26
Commenter du SQL
Marsh Posté le 18-12-2005 à 23:32:28
Bonjour à tous,
Je suis en train de faire un petit site en flash/PHP/SQL
Quand je teste le flash, tout marche.
Mais quand j'integre le fichier swf dans une page html et que je l'ouvre, aucune mise à jour de table ne fonctionne et je n'ai aucun message d'erreur. Est-ce normal ?
Pour l'instant tout tourne en local. J'utilise easyphp 1.8 et je n'ai pas encore d'hebergeur qui accepte le PHP.
Est-ce que quelqu'un à une idée ?
Merci d'avance
JR
Marsh Posté le 19-12-2005 à 07:48:14
tu dit que que tu teste la Flash, de quel manière ?
comment fait tu tes connexions Flash / PHP ?
difficile a dire comme ca, essaye de renvoyer les messages d'erreur SQL a Flash et de les afficher dans un champs texte (cf. tangram_make.fla et insert.php de mon site sur le tangram)
Marsh Posté le 19-12-2005 à 09:29:45
Je teste mon fichier flash en faisant:
Control --> Test Movie
A chaque fois que j'ai besoin d'interroger ou de mettre à jour une table, j'appelle un php.
Ex:
envoi_departement.sendAndLoad(phppath + "departements.php", select_departement, "GET" );
Mais, a mon avis c'est plutot entre le PHP et MYSQL qu'il y a un probleme, je vais essayer de récupérer l'éventuel message d'erreur de MYSQL.
Toutes les requetes SQL semblent marcher tant qu'il n'y a pas de maj.
Ce sont les "UPDAT" ou "INSERT" qui ne fonctionne plus en passant par Internet explorer
Marsh Posté le 20-12-2005 à 17:52:21
Il y a une case a cocher en dessous de chaque miniature. Quand on clique dessus, flash appelle ce PHP.
avec comme parametres entrants swf_Id_utilisateur et swf_Id_carte_postale
Il regarde dans la table "caddies"(Caddies_Id_utilisateur,Caddies_Id_carte_postale) si il y a un enregistrement correspondant (SELECT)
si oui => Il l'efface (DELETE) et il retourne &select=0
sinon => Il l'ajoute (INSERT) et il retourne &select=1
L'OBJET FLASH (SWF) MARCHE NICKEL MAIS DES QUE JE PASSE SOUS INTERNET EXPLORER CA DECONNE:
Il ne passe jamais dans le "sinon" et n'efface jamais l'enregistrement . Il retourne toujours &select=1 au flash
qui donc laisse la case cochée ????
<?
$server = "localhost";
$username = "root";
$password = "moncusulacomod";
$database = "cp";
if (!mysql_connect($server, $username, $password)) {
$r_string = '&errorcode=1&msg='.mysql_error().'&';
} elseif (!mysql_select_db($database)) {
$r_string = '&errorcode=2&msg='.mysql_error().'&';
} else {
$libquery= 'SELECT * from caddies WHERE Caddies_Id_utilisateur = "' . $_GET["swf_Id_utilisateur"] . '" AND Caddies_Id_carte_postale="' . $_GET["swf_Id_carte_postale"] . '"';
$qr = mysql_query($libquery);
if (!qr) {
$r_string = '&errorcode=1&msg='.mysql_error().'&';
} else {
if (mysql_num_rows($qr)==0) {
$libquery= 'INSERT INTO caddies(Caddies_Id_utilisateur, Caddies_Id_carte_postale) VALUES(' . $_GET["swf_Id_utilisateur"] . ' , ' . $_GET["swf_Id_carte_postale"] . ')';
$r_string = '&errorcode=0&select=1&libquery=' . $libquery . '&';
} else {
$libquery= 'DELETE FROM caddies WHERE Caddies_Id_utilisateur = "' . $_GET["swf_Id_utilisateur"] . '" AND Caddies_Id_carte_postale="' . $_GET["swf_Id_carte_postale"] . '"';
$r_string = '&errorcode=0&select=0&libquery=' . $libquery . '&';
}
$qr = mysql_query($libquery);
}
}
// Debug //
if (!qr) {
$r_string = '&errorcode=1&msg='.mysql_error().'&';
}
echo $r_string;
?>
Marsh Posté le 20-12-2005 à 17:59:58
PS Je ne pense pas que ça vienne du code puisque ça marche avec l'objet flash. Je pense plutot à une incompatibilité avec la version d'internet explorer (6.0.2900.2180.xpsp_sp2)
J'utilise EASYPHP 1.8 :
APACHE 1.3.33
PHP 4.3.10
PHPMYADMIN 2.6.1
MYSQL 4.1.9
Marsh Posté le 21-12-2005 à 07:57:18
laisse tomber flash pour le moment, comme tu passe par $_GET, tu peux debuguer dans ton browser en tappant tes variables derrieres l'URL nomdetapage.php?swf_Id_utilisateur=valeur&swf_Id_carte_postale=valeur
vois avec differentes valeur si ton code PHP se comporte comme il faut
verifie aussi avec PHPMYADMIN que ta base actualise bien les valeurs...
-> en l'état si select=1 est troujours renvoyé c'est que mysql_num_rows($qr) renvoie toujours 0, soit ta base est vide, soit ta requete est foireuse
bon courage
Marsh Posté le 21-12-2005 à 17:44:46
Merci mechkurt pour ton aide.
En deboguant le php dans IE, ça marche.
Le probleme n'apparait que à l'affichage de la page html contenant le swf.
Par contre je me suis apperçu que la case restait toujours cochée jusqu'à ce que je ferme IE
A l'ouverture suivante, au contraire, elle restait toujours vierge.
J'ai changé dans les options de IE:
Outils
-> Options Internet
-> Onglet Général
-> Bouton Paramètres... de Fichiers Internet temporaires
-> J'ai coché Vérifier s'il existe une version plus récente des pages enregistrées
"A chaque visite de la page"
et depuis ça marche !
Alors, une nouvelle question:
Comment forcer le rafraichissement de la page du visiteur ?
Marsh Posté le 21-12-2005 à 20:38:55
J'ai essayé:
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
et:
<META HTTP-EQUIV="expires" CONTENT="0">
mais ça ne marche pas
Marsh Posté le 27-12-2005 à 09:49:06
J'ai tout essayé (?), il n'y a rien a faire.
En fait j'ai l'impression que ce n'est pas un probleme de cache.
Pour IE, la page est déjà affichée donc il n'essaie même pas de la réafficher.
Donc, même sans cache, il ne la recharge pas.
Je vais essayer de trouver une bidouille dans mon flash pour montrer à IE que la page à changé.
Décidément, je commence à croire que flash et PHP sont incompatibles:
J'ai trouvé un hebergement pour faire des tests, c'est pas gagné !
Suivant le poste d'où on se connecte, ça marche ou ça ne marche pas ?!?
Sur certain postes:
select_utilisateur.onLoad = function(ok:Boolean) {
retourne ok=false
=> impossible de recuperer les parametres en retour du PHP.
Le plus étonnant c'est que sur ces postes si je lance le PHP à partir de la barre d'adresse d'IE, ça marche !
Marsh Posté le 27-12-2005 à 18:55:41
ca ne regleras sans doute pas le PB (quoique) mais si j'étais toi, j'enregistrais l'état des cases dans flash et ne ferait un appell a la base de donnée qu'a la fin, parcque faire un insert ou un delete a chaque fois que l'on coche / decoche une case c'est lourd!
Marsh Posté le 03-01-2006 à 14:55:52
question à propos de Flash et PHP...
Quand on fait du php... on envoie une requete au serveur, le serveur mouline... et il nous retourne un resultat...
Je voulais savoir si avec flash.. utilisant du PHP, utilise le même principe.. c'est à dire est ce qu'il faut recharger une page PHP pour en recuperer les resultats ou bien il peut faire une requete directement au serveur ?
(je sais pas si ma question est bien claire en fait)
Marsh Posté le 05-01-2006 à 14:13:07
Mmmmh TOI, tu ne "fais pas du PHP" ... jamais ... ton navigateur interprète du HTML ( et tout les machins "client-side" qu'il y a autour )
Ce que l'interpréteur PHP crache à ton navigateur, c'est et ça sera toujours du HTML ( ou n'importe quoi d'autre; xml+xsl/xslt, texte brut, ... ) .. la preuve en est que, à moins d'un gros plantage du serveur dans ses mimetypes, tu ne verras jamais le code source de ton script PHP dans ton navigateur !
Suivant le même raisonnement, Flash ne "fait" ni n' "utilise" du PHP, il se contente de faire une requête au serveur qui va interpréter le code php et renvoyer "qque-chose" à Flash ... un fichier .xml par exemple généré dynamiquement par le script ...
Pour la même raison, Flash peut faire appel à des "pages" écrites en n'importe quoi ( perl, php, python, cgi en c/c++, en java, ... ) du moment que la réponse qu'il reçoit du serveur qui aura exécuté/interprété le programme/script lui est compréhensible ...
(je sais pas si ma réponse est bien claire enfait)
Marsh Posté le 05-01-2006 à 14:18:11
je ne vois nulle part l'avertissement pourtant rendu obligatoire par l'assemblée nationale (loi du 7juillet 2004) sur la haute toxicité de flash ?
Marsh Posté le 17-11-2005 à 19:19:42
J'ai mis en ligne mon premier site Flash / PHP / MySQL, que j'ai réalisé dans le but de comprendre comment interfacer tous ca...
J'en communiquerais une partie des sources et utiliserais ce post sur le forum pour aider, répondre aux questions ou améliorer le site.
Ca se passe la:
http://le-tangram.com/
Si il y a des apprentis (ou confirmés) Hacker parmis les lecteurs de se post, je les autorises à essayer de foutre en l'air ma BDD, je l'ai sauvegardé à l'instant et autant se la faire pirater tout de suite que dans 2 mois quand elle sera bien remplis
Sinon toutes remarques m'interresses...
(évidement il y a qq manquement au niveau contenu mais ca devrait s'ameliorer dans les semaines à venir)
Message édité par mechkurt le 19-12-2005 à 08:09:25
---------------
D3