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 12/04/2011, 10h14   #1
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Par défaut passer une variable PHP au javascript

Bonjour,

ce que je voudrais faire est dans le titre, et je suis obligé de passer par là, car il s'agit d'extraire le nom de fichiers qui se trouvent sur le serveur, puis d'en passer l'URL à un script js...
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 10h26   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Avec un simple echo

Code :
1
2
3
<script type='text/JavaScript'>
alert("<?php echo $var; ?>");
</script>
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 10h40   #3
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
D'accord, mais ainsi, je ne fais qu'un affichage, pas une affectation ; est-ce que ça, ça marcherait ?
Code :
1
2
3
<script type='text/JavaScript'>
var var_js=<?php echo($var_php); ?>;
</script>
(ou un truc dans cet esprit)
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 10h42   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Oui.
Au passage, c'est plus rapide d'essayer que de poser la question ici.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/04/2011, 10h45   #5
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Citation:
Au passage, c'est plus rapide d'essayer que de poser la question ici.
Oui, à condition de pender à utiliser le echo (c'est ton post qui m'y a fait pensé)
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 12/04/2011, 20h17   #6
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
encore un souci : je fais un upload de fichiers suivi de la création d'une chaîne de caractères (variable js) ; l'upload se passe bien, mais la chaîne est vide, pourquoi ?
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
<script language="javascript">
var h_attachmentNames='';
</script>
<?php
$uploads_dir = 'uploads';
$i=0;
foreach ($_FILES["userfile"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["userfile"]["tmp_name"][$key];
        $name = $_FILES["userfile"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
        $virg=($i==0)?"":",";		
?>
 
       <script language="javascript">
       h_attachmentNames+=<?php echo $virg ?>+'"http://vercorshandisport.org/quickr/'+<?php $uploads_dir ?>+'/'+<?php $name ?>+'"';
       </script>
<?php
    }
}
 
?> 
<script language="javascript">
alert('h_attachmentNames='+h_attachmentNames);
</script>
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 20h37   #7
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Tu n'as pas mis le echo
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 20h47   #8
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Je viens de rajouter le echo que j'avais effectivement oublié, mais toujours rien :
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
<script language="javascript">
var h_attachmentNames='';
</script>
<?php
$uploads_dir = 'uploads';
$i=0;
foreach ($_FILES["userfile"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["userfile"]["tmp_name"][$key];
        $name = $_FILES["userfile"]["name"][$key];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
		$virg=($i==0)?"":",";
		?>
 
		<script language="javascript">
		h_attachmentNames+=<?php echo $virg ?>+'"http://vercorshandisport.org/quickr/'+<?php echo $uploads_dir ?>+'/'+<?php echo $name ?>+'"';
		</script>
		<?php
    }
}
 
?> 
<script language="javascript">
alert('h_attachmentNames='+h_attachmentNames);
</script>
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 20h55   #9
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Regarde ta source HTML, tu verras que ca ne va pas :
Code :
h_attachmentNames+= '<?php echo $virg ?>"http://vercorshandisport.org/quickr/<?php echo $uploads_dir ?>/<?php echo $name ?>"';
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/04/2011, 21h25   #10
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Mais ça sort d'où ça, vu que ce n'est pas mon code ?
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 21h32   #11
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Citation:
Envoyé par laurentSc Voir le message
Mais ça sort d'où ça, vu que ce n'est pas mon code ?
.
Sinon, pour la tag script javascript, utilise
Code :
<script type="text/javascript">
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 22h18   #12
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Finalement, je suis d'accord que ça ne va pas, mais honnêtement, je ne sais pas comment il faudrait faire ; voici mon 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
<script type="text/javascript">
var h_attachmentNames='';
</script>
<?php
$uploads_dir = 'uploads';
$i=0;
foreach ($_FILES["userfile"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
                $name = $_FILES["userfile"]["name"][$key];
                ...
		$virg=($i==0)?"":",";
		if ($name!="") {
		?>
 
		<script type="text/javascript">
		h_attachmentNames+='\''+<?php echo $virg ?>+'"http://vercorshandisport.org/quickr/'+<?php echo $uploads_dir ?>+'/'+<?php echo $name ?>+'"';
		</script>
		<?php }
    }
	?>
		<script type="text/javascript">
		h_attachmentNames+='\'';
		</script>
sachant que le formulaire html qui lance cette action est le suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<form action="action_form.php" method="post" enctype="multipart/form-data">
 
<form>File 1 :<input name="userfile[]" type="file"><br>
 
File 2 :<input name="userfile[]" type="file"><br>
 
File 3 :<input name="userfile[]" type="file"><br>
 
File 4 :<input name="userfile[]" type="file"><br>
 
File 5 :<input name="userfile[]" type="file"><br>
 
  <br>
 
  <input value="send" type="submit"></form>
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/04/2011, 23h00   #13
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
Citation:
Envoyé par laurentSc Voir le message
encore un souci : je fais un upload de fichiers suivi de la création d'une chaîne de caractères (variable js) ; l'upload se passe bien, mais la chaîne est vide, pourquoi ?
Tu veux faire quoi exactement ?
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 06h02   #14
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonjour,

1- Comment tu utilises cette variable javascript?
2- As-tu regardé le code HTML généré pour voir s'il est vraiment vide?

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/04/2011, 10h50   #15
Débutant
 
Homme Laurent
Webmaster
Inscription : octobre 2006
Messages : 2 873
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Âge : 48
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster
Secteur : Industrie

Informations forums :
Inscription : octobre 2006
Messages : 2 873
Points : 1 320
Points : 1 320
Je croyais avoir répondu, mais j'ai dû tout effacer par fausse manip

Citation:
Tu veux faire quoi exactement ?
Citation:
1- Comment tu utilises cette variable javascript?
Ce que je veux faire, c'est proposer à l'utilisateur un formulaire qui lui permette d'uploader jusqu'à 5 fichiers flv (déjà fait), d'explorer le contenu du répertoire d'upload et en extraire le nom des fichiers (déjà fait, en PHP nécessairement, vu que le répertoire est sur le serveur), mettre cette liste de noms dans une string js et passer celle-ci à un script js qui va donner la liste des fichiers et lancer flowplayer sur celui qui est sélectionné. Ce qui coince, c'est de passer la liste des noms dans une string js, car si elle existe, ça marche (et la chaîne doit avoir le format :
Code :
h_attachmentNames='"nom_1","nom_2",...,"nom_N"'
.

Citation:
2- As-tu regardé le code HTML généré pour voir s'il est vraiment vide?
Citation:
<script type="text/javascript">
h_attachmentNames+='\''++'"http://vercorshandisport.org/quickr/'+uploads+'/'+negawatt_rev15.flv+'"';
</script>
<script type="text/javascript">
h_attachmentNames+='\'';
</script>
L'alert que je fais sur la variable h_attachmentNames montre qu'elle ne contient qu'une quote, et je ne comprends pas.
laurentSc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h46.


 
 
 
 
Partenaires

Hébergement Web