Précédent   Forum des professionnels en informatique > PHP > Scripts
Scripts Forum d'entraide sur les scripts PHP téléchargés. Les meilleurs scripts PHP, la FAQ scripts PHP, toutes les FAQ PHP
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 29/09/2006, 15h47   #1
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
Par défaut Lancer un script Javascript une fois un script PHP terminé

Bonjour,

Je suis plus qu'un débutant en PHP mais j'ai trouvé un script permettant d'uploader sur le serveur un fichier spécifié par l'utilisateur. Ce dernier choisit un fichier à l'aide du composant "input" de type "file" d'HTML (<input type="file"...>).

Sachant que mon formulaire exécute mon script PHP dans une page séparée une fois que l'utilisateur a cliqué sur "Submit", comment est-ce que je peux direct derrière (et si l'upload s'est bien déroulé) exécuter une fonction Javascript (je l'ai déjà écrite) qui utilise justement les données du fichier qui vient d'être uploadé?

Je ne sais pas déjà si c'est possible et si c'est le cas dans quel langage il faut le faire (Javascript, PHP, HTML??).

Voilà pour info le bout de code contenant le formulaire :
Code :
1
2
3
4
5
 
<form id="form1" target="_blank" onsubmit="return checkExtension();" enctype="multipart/form-data" action="upload.php" method="post"> 
	Envoyez ce fichier : <input name="userfile" type="file" />
	<input type="submit" value="Envoyer le fichier" />
</form>
Merci!
kingmandrax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 15h51   #2
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Citation:
Envoyé par kingmandrax
comment est-ce que je peux direct derrière (et si l'upload s'est bien déroulé) exécuter une fonction Javascript (je l'ai déjà écrite) qui utilise justement les données du fichier qui vient d'être uploadé?
tu veux envoyer un message de confirmation?

ben ce que tu peux faire, c'est pas trop compliquer si ton script d'upload fonctionne correctement tu te set une variable de confirmation que tu fais afficher dans une page de confirmation
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 16h03   #3
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
Et on fait ça comment?

Sinon mon but premier n'est pas forcément de confirmer que l'upload s'est bien déroulé mais d'exécuter un script Javascript qui va aller chercher le fichier qui vient d'être uploader sur le serveur (et ce script doit donc bien entendu être exécuté qu'une fois le script d'upload complètement terminé!). Je sais pas si je suis assez clair...
kingmandrax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 16h06   #4
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
mais tu veux faire koi avec du javascript?

javascript coté client et php coté serveur...
si ton fichier tu l'upload sur le serveur alors tu ne vas pas pouvoir aller le rechercher avec du javascript

ton script d'upload est en php, fait ton message de confirmation en php
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 16h13   #5
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
C'est de l'Ajax pour être plus précis!
kingmandrax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 16h21   #6
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
a oki
alors dsl je m'y connais que très peu en ajax, je ne serais d'aucune aide

je te pose seulement la question: est ce que la solutions que tu as en tete reste la plus simple?
Keep it simple est une belle règle dans le développement info

bonne journée
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 16h25   #7
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
Le truc c'est que j'ai déjà implémenté la fonction qui va chercher les informations dans un fichier.
Je n'utilise du PHP QUE pour uploader le fichier sur le serveur, c'est tout!

Je ne pense pas qu'il faille s'y connaitre en Ajax pour mon problème! Il faudrait juste que je sache comment exécuter une fonction Javascript une fois que mon script PHP s'est terminé...arf, j'espère avoir été clair cette fois!!
kingmandrax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 16h30   #8
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
oki alors moi j'ai fait un truc du genre
mais c'est pas super clean

a noter que je suis dans le corps de ma page donc c'est p-e pour ca que ca fonctionne
si tu n'as pas d'affichage je ne sais pas si tu peux faire afficher
Code :
1
2
3
4
5
6
7
8
9
 
...
else{
  echo"<script language=\"javascript\">
	document.frmConfirmation.action=\"login.php?erreur=3\";
	document.frmConfirmation.submit();
	</script>
  ";
}
cela me redirigeait vers une autre page
donc j'imagine que c'est un peu dans le meme principe que tu peux le faire
sauf que: c'est laid
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 16h51   #9
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
Hum, j'ai pas trop compris le truc là...tu appelles le bouton submit du formulaire depuis le script PHP (qui est sensé être justement exécuté lorsque le formulaire est soumis!)??
kingmandrax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 16h56   #10
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
non c'était un exemple dans mon cas

mais ce que j'appelle c'est que mon if plus haut validait si ca provenais de telle page...or si oui alors je faisais de l'affichage donc je ne pouvais me servir de la fonction header

alors quand ca pogne le else...et bien je change l'action du formulaire et le soummet
cé basic la...

mais c'était pour te montrer que tu peux appeler un script js dans du code directement...sauf que normalement faut que tes script soi défini dans le head ou encore le body...moi dans ce cas c'est dans le body de ma page

si tu n'as pas d'affichage et c'est seulement du traitement d'information..je sais pas si ca va fonctionner
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2006, 17h38   #11
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
J'suis pas sûr d'avoir tout compris mais je vais essayer de me débrouiller... Merci pour l'aide!
kingmandrax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 01h00   #12
Membre du Club
 
Inscription : septembre 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 69
Points : 58
Points : 58
Salut,

Tu peux pas bufferiser ton script ?
http://fr.php.net/manual/fr/ref.outcontrol.php
Ca te permet de controler quand tout le code php a fini de générer ce qu'il a à générer.
Pour exécuter un script une fois que tout le traitement php est fini, est-ce qu'il ne suffit pas de rajouter le script sur la page html, en fin de document ? (avant les balises </body> et </html>)
PseudoCoder est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 10h14   #13
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
Je ne sais pas trop ce que c'est cette histoire de bufferisation... Quelques déails supplémentaires seraient les bienvenus si vous pensez que c'est la solution!
Et pour la deuxième proposition, si j'insère le script Javascript avant </body>, le script va être chargé lors du chargement de la page...je ne veux bien sûr pas ce genre de phénomène!
kingmandrax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 10h18   #14
Expert Confirmé
 
Avatar de yiannis
 
Inscription : septembre 2005
Messages : 1 499
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : septembre 2005
Messages : 1 499
Points : 2 563
Points : 2 563
bonjour,

au sujet de la bufferisation voici un lien : ob_start()

si tu lis la doc officielle tu vas tout comprendre sur la bufferisation
__________________
"Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN
yiannis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 10h27   #15
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
Ok merci bien, je vais regarder tout ça alors!

Sinon je suis énervé, le script PHP ne fonctionne plus alors que je n'ai absolument rien changé au code!!! L'upload ne fonctionne donc plus...
Voici le code du script que j'ai trouvé sur le net :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?php
 
$uploaddir = '../../www/DIPLOME/';
$uploadfile = $uploaddir.basename($_FILES['userfile']['name']);
 
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
   echo "Le fichier est valide, et a été téléchargé avec succès. Voici plus d'informations :\n";
} else {
   echo "Attaque potentielle par téléchargement de fichiers. Voici plus d'informations :\n";
}
 
echo 'Voici quelques informations de déboguage :';
print_r($_FILES);
 
echo '</pre>';
 
?>
Est-ce qu'il y a une erreur quelque part?? A chaque fois que j'exécute le script il m'affiche le message d'attaque potentielle par téléchargement de fichiers...je n'y comprend plus rien!

Merci pour votre aide, j'en ai besoin là!!
kingmandrax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2006, 17h18   #16
Candidat au titre de Membre du Club
 
Avatar de kingmandrax
 
Inscription : juillet 2006
Messages : 87
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 87
Points : 14
Points : 14
Personne peut me donner son avis sur le script? Il y a certainement une erreur évidente! N'ayant presque pas de connaissances en PHP je peux difficilement juger!
kingmandrax 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 12h38.


 
 
 
 
Partenaires

Hébergement Web