aide iframes projet bac

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 : aide iframes projet bac

Re: aide iframes projet bac

par chapt0011 » 02 juin 2014, 18:08

Rien à modifier juste à remplacer!!! Regarde tes mp

Re: aide iframes projet bac

par loïc » 02 juin 2014, 17:45

donc j'ai crée un fichier

connexion2.php car j'ai déjà un fichier connexion.php qui permet la connexion de l'utilisateur..

avec comme code:
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("database"); //debut
?>
un fichier matchs.php avec comme code:
<?php session_start(); ?>
 <!doctype html>
<?php
//si un match est selectionné on enregistre le match dans la session
if(isset($_POST['match']))
     $_SESSION['match']=$_POST['match'];
?>
 <html>
 <head>
 <title><?php echo if(isset($_SESSION['match'])) echo 'Chat: '.$_SESSION['match']; else echo 'Séléction dun match'; ?></title>
 </head>
 <body>
<?php
if(isset($_SESSION['match']))
{
        echo '<div id="chat">';
        include("chat.php");
        echo '</div>';
}
else
{
//si tu as une liste de matchs en base de données -> il faut inclure la connexion et récupérer tous les matchs 
//pour pouvoir remplir le formulaire de sélection du match
//sinon tu va devoir mettre toutes les options du select à la main
include(connexion2.php);
//ici mettre une option pour chaque match! soit une requête et echo au bon format soit à la main et dans ce cas vire la connexion et la déco
  echo '<h2>Selectionner un match!</h2><form method="post">
           <select name="match">
                  <option value="bresil-croatie">Brésil vs Croatie</option>
           </select>
            <input type="submit" value="sélectionner"/></form>';
}
         mysql_close(); // On ferme la connexion de notre base de données
?>
 </body>
 </html>
et le fichier chat.php que j'ai modifié en
<?php 
  if(isset($_SESSION['match'],$_SESSION[|'login']))
  {
        include("connexion2.php");
        if(isset($_POST['msg']))
        {
                $sql = "INSERT INTO messages (login,message,timestamp,match) VALUES
                           ('".$_SESSION['login']."','".$_POST["msg"]."','".time()."','".$_SESSION['match']."')";
                $req = mysql_query($sql);
        }
        $reponse = mysql_query("SELECT * FROM messages WHERE matchs='".$_SESSION['match']."' ORDER BY id DESC LIMIT 0,10");
         while($val = mysql_fetch_array($reponse))
         {
            echo '<p><strong>'.htmlentities(stripslashes($val['login'])).'</strong> 
            &agrave; '.date('H\:i\:s',$val['timestamp']).' : '. htmlentities(stripslashes($val['message'])) .'</p>';
         }
           echo '<p>
           <form method="post">
             Message : <br/><textarea name="msg" rows="4" cols="20" id="message"></textarea><br/>
            <input type="submit" value="Envoyer"/>
            </form>
             </p>';
         mysql_close(); // On ferme la connexion de notre base de données
       
  }
else
{
  echo 'Vous devez être membre et avoir séléctionné un match pour accéder au chat';
}
?>

<?php if($error == TRUE){ echo "<p style='color:red'><strong>".$errorMSG."</strong></p>"; } ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<!-- permettre a l'utilisateur d utiliser les caracteres particuliers francais -->
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />
<!-- contenu francais -->
<meta http-equiv="Content-Language" content="fr" />
<meta name="Copyright" content="Loïc&Chris" />
<meta name="Author" content="Loïc" />
<title>Match Chat</title>
<script rel="javascript" type="text/javascript"> href="chat.js"></script>
</head>
<body onload="refreshChat();">
<h2>Match Chat</h2>
<div id="database"></div>
<p>
[color=#FF0000]<form action="http://127.0.0.1/php/site/accueil/matchs/chat.php?matchs=bresilcroatie" method="post">[/color] (je garde cette ligne ???)
Message : <br/><textarea name="message" rows="4" cols="20" id="message"></textarea><br/>
<input type="submit" value="Envoyer"/>
</form>
</p>
</body>
</html>

que dois je donc mettre dans mon ficher bresilcroatie alors maintenant ? par quoi dois je remplacer l'iframe?qui est codé:
<?php

session_start();

$BDD = mysql_connect("localhost","root","");  // Connexion à la base de données.
             mysql_select_db("database");       // Sélection de la base de données utilisée.
?>
<?php if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])){
   
   echo "<p style='color:green'>Vous etes connecté:<strong>".$_SESSION["login"]."</strong></p>";
   
} ?>
<html>
<head>
<title>Brésil - Croatie</title>
<link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
<div id="tot">
	<table  id="tableau" style="border:solid; border-collapse:collapse" cellspacing="1" cellpadding="50"  >
		<tr>
			<td class="titre" style="border:solid; background-color:white" width="540" height="280"> 
				<div>Brésil - Croatie</div>
			</td>
		</tr>
		<tr>
			<td style="background-color:white">
		<!--- chat -->
				<IFRAME src="http://127.0.0.1/php/site/accueil/matchs/chat.php?matchs=bresilcroatie" width="540" height="650"></IFRAME>
			</td>
		</tr>
	</table>
	</div>
<a href="http://127.0.0.1/php/site/accueil/index.php"><h3>Retour a la page d'accueil</h3></a>

</body>
</html>
dois je modifier autre chose ?

Re: aide iframes projet bac

par chapt0011 » 02 juin 2014, 13:42

ok bizarre ton histoire, j'ai pas la bdd et tout et tout pour tester, mais ce que je t'ai donné devrait marcher (aux qques erreurs prêt..)
Par contre pas de réactualisation automatique dans ce que je t'ai donné :/ !!
Pour y remédier:
Il suffira de place le bout de code suivant entre <head></head> de matchs.php
[javascript]
<script src="http://code.jquery.com/jquery-latest.js" > </script>

<script>
var refreshId = setInterval(function()
{
$('#chat').fadeOut("slow").load('chat.php').fadeIn("slow");
}, 10000); // 10000 pour 10 secondes (temps avant rafraichissement)
</script>
[/javascript]

Re: aide iframes projet bac

par loïc » 02 juin 2014, 13:29

j ai inseré

<?php
$error = FALSE;
$match = $_GET['matchs'];
echo 'matchs'

le nom du match s'affiche au dessus du chat mais des que j appui sur envoyer pour envoyer le message sur le chat tout bug lol

je vais essayer ta methode ce soir en esperant que cela finira par fonctionner :priere:

Re: aide iframes projet bac

par chapt0011 » 02 juin 2014, 12:28

Bon au cas ou tout cela ne fonctionne pas laisse tomber ton iframe et voila comment j'aurais imaginer la chose!
une fois l'utilisateur connecté et $_SESSION['login'] mise a jour, renvoie sur la page matchs.php!
d'abord le fichier de connexion:

connexion.php
mysql_connect("localhost", "root", "");
mysql_select_db("database"); //debut
une interface type qui va te servir pour tous les matchs (inutile de faire un fichier pour chaque!!)
matchs.php
<?php session_start(); ?>
<!doctype html>
<?php
//si un match est selectionné on enregistre le match dans la session
if(isset($_POST['match']))
    $_SESSION['match']=$_POST['match'];
?>
<html>
<head>
<title><?php echo if(isset($_SESSION['match'])) echo 'Chat: '.$_SESSION['match']; else echo 'Séléction d'un match'; ?></title>
</head>
<body>
<?php
if(isset($_SESSION['match']))
{
       echo '<div id="chat">';
       include("chat.php");
       echo '</div>';
}
else
{
//si tu as une liste de matchs en base de données -> il faut inclure la connexion et récupérer tous les matchs 
//pour pouvoir remplir le formulaire de sélection du match
//sinon tu va devoir mettre toutes les options du select à la main
include(connexion.php);
//ici mettre une option pour chaque match! soit une requête et echo au bon format soit à la main et dans ce cas vire la connexion et la déco
 echo '<h2>Selectionner un match!</h2><form method="post">
          <select name="match">
                 <option value="bresil-croatie">Brésil vs Croatie</option>
          </select>
           <input type="submit" value="sélectionner"/></form>';
}
        mysql_close(); // On ferme la connexion de notre base de données
?>
</body>
</html>
et finalement le fichier chat.php
<?php 
 if(isset($_SESSION['match'],$_SESSION[|'login']))
 {
       include("connexion.php");
       if(isset($_POST['msg']))
       {
               $sql = "INSERT INTO messages (login,message,timestamp,match) VALUES
                          ('".$_SESSION['login']."','".$_POST["msg"]."','".time()."','".$_SESSION['match']."')";
               $req = mysql_query($sql);
       }
       $reponse = mysql_query("SELECT * FROM messages WHERE matchs='".$_SESSION['match']."' ORDER BY id DESC LIMIT 0,10");
        while($val = mysql_fetch_array($reponse))
        {
           echo '<p><strong>'.htmlentities(stripslashes($val['login'])).'</strong> 
           &agrave; '.date('H\:i\:s',$val['timestamp']).' : '. htmlentities(stripslashes($val['message'])) .'</p>';
        }
          echo '<p>
          <form method="post">
            Message : <br/><textarea name="msg" rows="4" cols="20" id="message"></textarea><br/>
           <input type="submit" value="Envoyer"/>
           </form>
            </p>';
        mysql_close(); // On ferme la connexion de notre base de données
      
 }
else
{
 echo 'Vous devez être membre et avoir séléctionné un match pour accéder au chat';
}
?>

Re: aide iframes projet bac

par chapt0011 » 02 juin 2014, 11:40

je pense qu'il y a un souci avec les variables GET et l'iframe...
avant d’exécuter ta requête d'insertion de message, verifie la valeur de $match et de $_GET['matchs'] en faisant un echo ou var_dump

aide iframes projet bac

par loïc » 02 juin 2014, 11:29

J'ai cree un fichier chat.php et divers fichiers bresilcroatie.php mexiquecameroun.php .... referencant les matchs de la coupe du monde

j ai introduit a laide d'iframes le fichier chat.php dans chaque fichiers de matchs de la coupe du monde

Cependant pour que les messages du chat de bresilcroatie.php ne se trouvent pas sur le chat du fichier mexiquecameroun.php et autres

j ai ajouté une variable matchs varchar 256 dans ma base de donnée
et mis ?matchs=bresilcroatie (ou autres matchs) en parametre

cependant cela ne fonctionne pas, la variable match n'est pas rentre dans la base de donnée et j'ai divers bugs...

Ou se trouve mon probleme ???

Voici mon code chat.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?php
header("Content-Type: text/html; charset=iso-8859-15"); //  header qui formate la page en texte
session_start();
$BDD = mysql_connect("localhost", "root", "");
mysql_select_db("database"); //debut
?>
<?php
$error = FALSE;
$match = $_GET['matchs'];
if(isset($_SESSION['login'])){ 

if (isset($_POST['message']))  // recu de donnees
 { 
  if(!empty($_POST['message'])) // valeur non vide
    {
    $sql = "INSERT INTO messages (login,message,timestamp,match) VALUES ('".$_SESSION['login']."','".$_POST["message"]."','".time()."','".$_GET['matchs']."')";
    $req = mysql_query($sql);
	header( 'Location: http://127.0.0.1/php/site/accueil/matchs/chat.php');
	}
	}
	} 
     
	else{
	$error = TRUE;
    $errorMSG = "Seuls les membres peuvent accéder au chat";
            }


$reponse = mysql_query("SELECT * FROM messages WHERE matchs='".$match."' ORDER BY id DESC LIMIT 0,10");
while($val = mysql_fetch_array($reponse))
{
	echo '<p><strong>'.htmlentities(stripslashes($val['login'])).'</strong> 
	&agrave; '.date('H\:i\:s',$val['timestamp']).' : '. htmlentities(stripslashes($val['message'])) .'</p>';
} 
	
mysql_close(); // On ferme la connexion de notre base de données
?>
<?php if($error == TRUE){ echo "<p style='color:red'><strong>".$errorMSG."</strong></p>"; } ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<!-- permettre a l'utilisateur d utiliser les caracteres particuliers francais -->
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />
<!-- contenu francais -->
<meta http-equiv="Content-Language" content="fr" />
<meta name="Copyright" content="Loïc&Chris" />
<meta name="Author" content="Loïc" />
<title>Match Chat</title>
<script rel="javascript" type="text/javascript"> href="chat.js"></script>
</head>
<body onload="refreshChat();">
<h2>Match Chat</h2>
<div id="database"></div>
<p>
<form action="http://127.0.0.1/php/site/accueil/matchs/chat.php?matchs=bresilcroatie" method="post">
Message : <br/><textarea name="message" rows="4" cols="20" id="message"></textarea><br/>
<input type="submit" value="Envoyer"/>

</form>
</p>
</body>
</html>]
voici mon code du match bresil croatie:
<?php

session_start();

$BDD = mysql_connect("localhost","root","");  // Connexion à la base de données.
             mysql_select_db("database");       // Sélection de la base de données utilisée.
?>
<?php if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])){
   
   echo "<p style='color:green'>Vous etes connecté:<strong>".$_SESSION["login"]."</strong></p>";
   
} ?>
<html>
<head>
<title>Brésil - Croatie</title>
<link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
<div id="tot">
	<table  id="tableau" style="border:solid; border-collapse:collapse" cellspacing="1" cellpadding="50"  >
		<tr>
			<td class="titre" style="border:solid; background-color:white" width="540" height="280"> 
				<div>Brésil - Croatie</div>
			</td>
		</tr>
		<tr>
			<td style="background-color:white">
		<!--- chat -->
				<IFRAME src="http://127.0.0.1/php/site/accueil/matchs/chat.php?matchs=bresilcroatie" width="540" height="650"></IFRAME>
			</td>
		</tr>
	</table>
	</div>
<a href="http://127.0.0.1/php/site/accueil/index.php"><h3>Retour a la page d'accueil</h3></a>

</body>
</html>
voici le code de Mexique Cameroun :
<?php

session_start();

$BDD = mysql_connect("localhost","root","");  // Connexion à la base de données.
             mysql_select_db("database");       // Sélection de la base de données utilisée.
?>
<?php if(isset($_SESSION["login"]) AND isset($_SESSION["pass"])){
   
   echo "<p style='color:green'>Vous etes connecté:<strong>".$_SESSION["login"]."</strong></p>";
   
} ?>

<html>
<head>
<title>Mexique - Cameroun</title>
<link rel="stylesheet" type="text/css" href="style2.css" />
</head>
<body>
<div id="tot">
	<table  id="tableau" style="border:solid; border-collapse:collapse" cellspacing="1" cellpadding="50"  >
		<tr>
			<td class="titre" style="border:solid; background-color:white" width="540" height="200"> 
				<div>Mexique - Cameroun</div>
			</td>
		</tr>
		<tr>
			<td style="background-color:white">
		<!--- chat -->
				<IFRAME src="http://localhost/site/accueil/matchs/chat.php?matchs=mexiquecameroun" width="540" height="600"></IFRAME>
			</td>
		</tr>
	</table>
	</div>
	<a href="http://127.0.0.1/php/site/accueil/index.php"><h3>Retour a la page d'accueil</h3></a>
</body>
</html>
et ainsi de suite pour les divers matchs cependant rien ne fonctionne la..;

sVP SVP Aidez moi je dois rendre mon projet demain !!!! :shock: :?

Merci :D