Précédent   Forum du club des développeurs et IT Pro > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/12/2012, 10h02   #1
mikedimoi
Invité de passage
 
Inscription : mars 2004
Messages : 44
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 44
Points : 4
Points : 4
Par défaut Récupérer une variable dans une autre page

Salut à tous,

Afin de finir mon petit projet, je rencontre une dernière difficulté.

J'ai donc une page index.php qui contient plusieurs webcams.En voici un extrait :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<? require_once '../internals/$config.php';
require_once '../internals/Header.inc.php';
 
?>
<script type='text/javascript' src='./jwplayer.js'></script>
<script type="text/javascript" src="/jwplayer/jwplayer.js"></script>
</head>
<body bgcolor="#d7dbf8">
<tr><A HREF="#" onClick="window.open('../cam/macam2.php?cam=video1', 'Ma cam', 'scrollbars=yes,width=330,height=250')"><IMG SRC="../layout/img/bouton.png" WIDTH="155" HEIGHT="55" BORDER=0 ALT="Allumer ma cam"></A></tr>
<div id='player1'>This text will be replaced</div>
<p id="message"></p>
 
 
<script type='text/javascript'>
  jwplayer('player1').setup({
    flashplayer: "jwplayer.swf",
	logo: "../layout/img/watermark2.png",
'logo.timeout': "60",
    type: "rtmp",
    streamer: "rtmp://monhost",
    autostart: "true",
    bufferlength: "3",
    file: "video1",
    controlbar: "bottom",
    width: "320",
    height: "260",
    skin: "skins/nexus.zip"
  });
 
  jwplayer().onPlay(function() { setText("la variable $chat_user ici"); }); // ici
  jwplayer().onPause(function() { setText("??? a fait une pause"); });
  jwplayer().onBuffer(function() { setText("En pause..."); });
  jwplayer().onIdle(function() { setText("Personne en cam."); });
 
  function setText(text) {
    document.getElementById("message").innerHTML = text;
  }
 
var t;
var timer=5000;
jwplayer('player1').onIdle(function() {
t=setTimeout("jwplayer('player1').play()",timer);
});
 
</script>
<tr><A HREF="#" onClick="window.open('../cam/macam2.php?cam=video2', 'Ma cam', 'scrollbars=yes,width=330,height=250')"><IMG SRC="../layout/img/bouton.png" WIDTH="155" HEIGHT="55" BORDER=0 ALT="Allumer ma cam"></A></tr>
<div id='player2'>This text will be replaced</div>
<p id="message"></p>
<script type='text/javascript'>
  jwplayer('player2').setup({
    flashplayer: "jwplayer.swf",
	logo: "../layout/img/watermark2.png",
'logo.timeout': "60",
    type: "rtmp",
    streamer: "rtmp://monhost",
    autostart: "true",
    bufferlength: "3",
    file: "video2",
    controlbar: "bottom",
    width: "320",
    height: "260",
skin: "skins/nexus.zip"
  });
 
  jwplayer().onPlay(function() { setText("l'autre $chat_user ici"); }); // ici
  jwplayer().onPause(function() { setText("??? a fait une pause"); });
  jwplayer().onBuffer(function() { setText("En pause..."); });
  jwplayer().onIdle(function() { setText("Personne en cam."); });
 
  function setText(text) {
    document.getElementById("message").innerHTML = text;
  }
 
var t;
var timer=5000;
jwplayer('player2').onIdle(function() {
t=setTimeout("jwplayer('player2').play()",timer);
});
 
</script>
...............
Le membre cliquer alors sur le lien ../cam/macam2.php?cam=video2 ou ../cam/macam2.php?cam=video1 et ouvrira cette page macam2.php :
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<?php
 
require_once '../internals/$config.php';
require_once '../internals/Header.inc.php';
 
$ncam = $_GET["cam"];
 
 
 $sql = SK_MySQL::placeholder(
 
"SELECT `profile_id`,`username`,`password`
 
FROM `".TBL_PROFILE."`
 
WHERE username='?'", $_SESSION['%http_user%'][username]
 
);
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
 
 
 
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    // on affiche les informations de l'enregistrement en cours
$chat_user= $data['username'];
$chat_id= $data['profile_id'];
    } 
?>
 
<body>
<script>
function getFlashMovie(movieName) {
    var isIE = navigator.appName.indexOf("Microsoft") != -1;
    return (isIE) ? window[movieName] : document[movieName];  
}
</script>
<td>
<center>
<object type="application/x-shockwave-flash" data="VideoIO11.swf"
    id="<? echo $ncam;?>" width="320" height="240" quality="high">
    <param name="movie" value="VideoIO11.swf" />
    <param name="quality" value="high" />
    <param name="bgcolor" value="#000000" />
    <param name="allowFullScreen" value="true" />
    <param name="allowScriptAccess" value="always" />
    <param name="flashVars" value="controls=true" />
 
</object>
<center>
<input id="src1" type="hidden" autocomplete="off" style="width:170px;"
    value="rtmp://monhost"/>
<input id="publish1" type="hidden" autocomplete="on" style="width:50px;"
    value="<? echo $ncam;?>"/>
<input value="Envoyer ma Cam" type="button" 
    onclick="getFlashMovie('<? echo $ncam;?>').setProperty('src', 
        document.getElementById('src1').value
        + '?publish=' + document.getElementById('publish1').value)"/>
<input value="Arrêter" type="button" 
    onclick="getFlashMovie('<? echo $ncam;?>').setProperty('src', null)"/>
</center>
</td>
<span style=”font-family:arial;color:#3d16e8;font-size:small;text-align:center;”><?php echo $chat_user; ?></span>
</body>
</html>
En sachant que je passe en parametre $ncam, comment, dans index.php, puis-je récupérer la valeur $chat_user ?


Merci à tous de votre aide
mikedimoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 11h21   #2
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 469
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 469
Points : 21 274
Points : 21 274
si cela fait référence a l utilisateur connecté met le en session.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 11h32   #3
mikedimoi
Invité de passage
 
Inscription : mars 2004
Messages : 44
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 44
Points : 4
Points : 4
Salut et merci.

C'est ce que j'essaie de faire en mettant, dans index.php :
Code :
1
2
3
4
<?php
session_start();
$chat_user = $_SESSION['chat_user'];
?>
et dans cam2.php :
Code :
1
2
3
4
<?php
session_start();
$_SESSION['chat_user'] = $chat_user;
?>
mais le probleme est que, forcément, c'est toujours la meme valeur qui est retournée.

Dans un sens, c'est normal puisque on va chercher $chat_user dans cam2.php alors que je voudrais récupérer cette valeur dans :
Code :
cam2.php?cam=video1&{$chat_user}
Edit :
J'avance et j'essaie de comprendre.
En fait, dans cam2.php
Citation:
$chat_user = $_SESSION['%http_user%'][username]
qui renvoit le pseudo du membre connecté.
Il est donc normal que sur ma page index.php, la variable me renvoit la meme chose.

Ce que je veux faire est de récupérer le pseudo et non la variable.
mikedimoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 17h36   #4
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 469
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 469
Points : 21 274
Points : 21 274
franchement je n ai pas compris tes explications mais si tu veux passer par l url ca serait
Code :
cam2.php?cam=video1&chat_user=$chat_user
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 18h53   #5
mikedimoi
Invité de passage
 
Inscription : mars 2004
Messages : 44
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 44
Points : 4
Points : 4
Citation:
Envoyé par sabotage Voir le message
franchement je n ai pas compris tes explications mais si tu veux passer par l url ca serait
Code :
cam2.php?cam=video1&chat_user=$chat_user
C'est tout à fait çà.
Mais en fouinant partout, j'arrive à tout me confondre maintenant. Le côté client et le côté serveur.

Comment puis je donc récupérer cette valeur ?
mikedimoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2012, 19h47   #6
RunCodePhp
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 965
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 965
Points : 3 671
Points : 3 671
Salut

Pas trop compris non plus, mais c'est on jamais.

Citation:
Envoyé par mikedimoi
Comment puis je donc récupérer cette valeur ?
Théoriquement de la même manière que le paramètre "cam".

En reprenant l'exemple de code qu'a mis @Sabotage : (ceci)
Code :
cam2.php?cam=video1&chat_user=$chat_user
Théoriquement, lorsqu'on cliquera sur le lien cela va ouvrir une fenêtre de type popup (très moyen comme technique, car les popups sont bloquées par défaut par les navigateurs, cela depuis des lustres, mais c'est un autre problème) via une URL (celle du code).
Donc la page cam2.php devrait déjà contenir un code pour récupérer le 1er paramètre : cam
Qui ici aura comme valeur : video1

Suffit de rajouter le même code pour récupérer le 2ème paramètre : chat_user
Qui ici aura comme valeur : celle de $chat_user (valeur de la variable Php)

Donc un code du genre : (dans cam2.php)
Code :
1
2
$cam = $_GET['cam'];
$chat_user = $_GET['chat_user'];
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 07h40   #7
mikedimoi
Invité de passage
 
Inscription : mars 2004
Messages : 44
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 44
Points : 4
Points : 4
Je vais tenter d'être un peu plus précis.

Lorsque, sur la page index (où il y a 5 players, qui recoivent les videos), le membre clique sur le popup, il a effectivement la page ../cam/macam2.php?cam=video1 qui s'ouvre (dans ce cas, la premiere cam puisque video1).

Dans cette page (où il n'y a qu'un player, le publisher), j'ai fait une requête pour récupérer son pseudo et je l'affiche juste en bas :
Code html :
<span style=”font-family:arial;color:#3d16e8;font-size:small;text-align:center;”><?php echo $chat_user; ?></span>
Le membre voit bien son propre nom d'utilisateur sous la cam qu'il diffuse.

Repartons à présent sur l'index.
Dans chaque cam, lorsque un flux est diffusé, je peux afficher un texte avec :
Code javascript :
 jwplayer("player1").onPlay(function() { setText1("le pseudo ici"); });
Par ce biais, je tente de récupérer le pseudo du membre qui aura cliqué sur le lien ci-dessus afin d'informer les membres du pseudo émetteur de la cam.

En fait, je cherchais un moyen simple de le faire à la volée.
Ceci dit, j'ai toujours le moyen de le faire avec un requete UPDATE dans ma page cam.php et recuperer ces données sur la page index.
Je devrais alors chercher comment faire un UPDATE de la base de données lors de la fermeture de la fenetre cam.php.

Pour la petite histoire, j'ai fait, il y a maintenant une dizaine d'années, un petit stage pour apprendre le langage php. 200€ la semaine.
En me remettant dessus aujourd'hui, je m’aperçois alors que bien des choses ont changé.
Comme tu le dis si haut, il est vrai que les popups ne sont pas les meilleures choses et, bien évidemment, j'ai aussi vu que Ajax pouvait, aujourd'hui, faire des choses sympas et qui aurait sûrement pu me servir dans ce cas là.

J'ai aussi vu, sur la toile, des formules de chat webcam toutes prêtes moyennant un coup de 300€ sans compter les frais d'hébergement mensuel (red5 ou autre media server).
300€ d'un côté ou 200€ de l'autre pour apprendre un nouveau langage qui puisse me permettre de coder quelques lignes, je me suis vite résolu à me débrouiller par moi même.

J'ai longtemps cherché à mettre en place ce genre de chose.
Grâce à Videoi0 et JwPlayer, j'ai enfin réussi à mettre en place un système de streaming qui se rafraîchit automatiquement, chose qui n'est pas facile à faire.

Certes, ca ne ressemblera pas à des solutions toutes prêtes et créées par des professionnels mais, pour un site gratuit, ca suffira largement.
mikedimoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 14h41   #8
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 469
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 469
Points : 21 274
Points : 21 274
si tu veux que l utilisateur A sache que B a fait quelque chose, il faut que cette information sout stockée sur le serveur, en général dans une base de données.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2013, 08h39   #9
hugues752
Invité de passage
 
Homme hugues leean
san emploi
Inscription : janvier 2013
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme hugues leean
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : san emploi
Secteur : Services à domicile

Informations forums :
Inscription : janvier 2013
Messages : 3
Points : 4
Points : 4
je ne savais pas qu'on pouvait acheter des tchats tout prêt. C'est sur quel site ?
hugues752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2013, 09h53   #10
mikedimoi
Invité de passage
 
Inscription : mars 2004
Messages : 44
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 44
Points : 4
Points : 4
Tu en as plusieurs.

En voici deux exemples :
http://www.videowhisper.com/
http://www.123flashchat.com/

Au prix où ils vendent leur solution, tu comprendras bien que, si je peux m'en passer...
mikedimoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2013, 03h55   #11
hugues752
Invité de passage
 
Homme hugues leean
san emploi
Inscription : janvier 2013
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme hugues leean
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : san emploi
Secteur : Services à domicile

Informations forums :
Inscription : janvier 2013
Messages : 3
Points : 4
Points : 4
oups $3599 pour un chat webcam chez flashchat, faut avoir gagné à la loterie pour pouvoir acheter ça
Citation:
Envoyé par mikedimoi Voir le message
Tu en as plusieurs.

En voici deux exemples :
http://www.videowhisper.com/
http://www.123flashchat.com/

Au prix où ils vendent leur solution, tu comprendras bien que, si je peux m'en passer...
hugues752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2013, 12h28   #12
mikedimoi
Invité de passage
 
Inscription : mars 2004
Messages : 44
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 44
Points : 4
Points : 4
Tu dois maintenant comprendre mon acharnement à finir ce que j'ai entrepris...et qui n'est toujours pas résolu !
mikedimoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h37.


 
 
 
 
Partenaires

Hébergement Web