Aide requete sql
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je code un script qui permet d'envoyer et lire des messages en interne dans le site web donc pour aller lire le message je fais un lien dans un tableau :
// Fichier messages.php
<table width="804" height="73" style="border:medium #069 solid;">
<tr>
<th width="41" height="40">Suppr</th>
<th width="470">Titre</th>
<th width="151">De</th>
<th width="120">A</th>
</tr>
<?php
mysql_select_db('webpourlesnuls');
$msg = mysql_query ("SELECT * FROM contact WHERE destination='" . $_SESSION['MM_Username'] . "'");
while ($donnees = mysql_fetch_array($msg))
{
?>
<tr>
<td><center><a href="messages.php?id=<?php echo $donnees['id']; ?>">DEL</a></center></td>
<td><center><a href="liremsg.php?titre=<?php echo $donnees['titre']; ?>&date=<?php echo $donnees['date']; ?>"><?php echo $donnees['titre']; ?></a></center></td>
<td><center><?php echo $donnees['pseudo']; ?></center></td>
<td><center><?php echo $donnees['destination']; ?></center></td>
</tr>
<?php
}
?>
</table>
// Fin du document
Les données sont bien affichés .Le $_SESSION['MM_Username'] correspond au nom de l'utilisateur récupérer par le biais d'un script de restriction de page. Le lien vers messages.php c'est pour supprimer le message et ça marche très bien. Le problème c'est le lien vers liremsg.php avec lequel j'envoie les données du message pour les filtrer avec le requête sql dans le fichier liremsg.php voici les lignes :
// Fichier liremsg.php
if (isset($_GET['date']) && isset($_GET['titre'])) // Vérification de l'existence des paramètres d'URL
{
if (is_numeric($_GET['date'])) // Vérification que la date est bien un nombre
{
$_GET['date'] = strip_tags(mysql_real_escape_string($_GET['date'])); // Protection des variables
$_GET['titre'] = strip_tags(mysql_real_escape_string($_GET['titre']));
$date = $_GET['date']; // Les mettre dans des variables
$destinataire = $_SESSION['MM_Username'];
$titre = $_GET['titre'];
}
else
{
echo 'ERREUR : Id du paramètre d\'URL incorrect';
}
$query = mysql_query("SELECT * FROM contact WHERE titre='" . $titre . "' AND destination='" . $destinataire . "'"); /* Je met les données que j'ai récupéré dans la requête avec un WHERE et la destination pour s'assurer que le membre ne lise pas les messages d'un autre
*/
}
?>
// Ensuite je les affiches
<p>Titre : <?php echo $query['titre']; ?></p>
<p>Expéditeur : <?php echo $query['pseudo']; ?></p>
<p>Date : <?php echo date ('d/m/Y H:i:s',$query['date']); ?></p>
<p>Contenu : </p><p><?php echo $query['contenu']; ?></p>
// Fin du document
Le problème c'est que ça n'affiche rien. J'ai fais un echo pour voir si il y a avait bien quelque chose dans les variables et je voyait bien les informations. J'ai bien vérifier s'il n'y avait pas d'erreur de concaténation. J'ai verifier si les données était bien dans la base.
Alors je ne voit pas d'où ça vient.
Merci pour les réponses
Je code un script qui permet d'envoyer et lire des messages en interne dans le site web donc pour aller lire le message je fais un lien dans un tableau :
// Fichier messages.php
<table width="804" height="73" style="border:medium #069 solid;">
<tr>
<th width="41" height="40">Suppr</th>
<th width="470">Titre</th>
<th width="151">De</th>
<th width="120">A</th>
</tr>
<?php
mysql_select_db('webpourlesnuls');
$msg = mysql_query ("SELECT * FROM contact WHERE destination='" . $_SESSION['MM_Username'] . "'");
while ($donnees = mysql_fetch_array($msg))
{
?>
<tr>
<td><center><a href="messages.php?id=<?php echo $donnees['id']; ?>">DEL</a></center></td>
<td><center><a href="liremsg.php?titre=<?php echo $donnees['titre']; ?>&date=<?php echo $donnees['date']; ?>"><?php echo $donnees['titre']; ?></a></center></td>
<td><center><?php echo $donnees['pseudo']; ?></center></td>
<td><center><?php echo $donnees['destination']; ?></center></td>
</tr>
<?php
}
?>
</table>
// Fin du document
Les données sont bien affichés .Le $_SESSION['MM_Username'] correspond au nom de l'utilisateur récupérer par le biais d'un script de restriction de page. Le lien vers messages.php c'est pour supprimer le message et ça marche très bien. Le problème c'est le lien vers liremsg.php avec lequel j'envoie les données du message pour les filtrer avec le requête sql dans le fichier liremsg.php voici les lignes :
// Fichier liremsg.php
if (isset($_GET['date']) && isset($_GET['titre'])) // Vérification de l'existence des paramètres d'URL
{
if (is_numeric($_GET['date'])) // Vérification que la date est bien un nombre
{
$_GET['date'] = strip_tags(mysql_real_escape_string($_GET['date'])); // Protection des variables
$_GET['titre'] = strip_tags(mysql_real_escape_string($_GET['titre']));
$date = $_GET['date']; // Les mettre dans des variables
$destinataire = $_SESSION['MM_Username'];
$titre = $_GET['titre'];
}
else
{
echo 'ERREUR : Id du paramètre d\'URL incorrect';
}
$query = mysql_query("SELECT * FROM contact WHERE titre='" . $titre . "' AND destination='" . $destinataire . "'"); /* Je met les données que j'ai récupéré dans la requête avec un WHERE et la destination pour s'assurer que le membre ne lise pas les messages d'un autre
*/
}
?>
// Ensuite je les affiches
<p>Titre : <?php echo $query['titre']; ?></p>
<p>Expéditeur : <?php echo $query['pseudo']; ?></p>
<p>Date : <?php echo date ('d/m/Y H:i:s',$query['date']); ?></p>
<p>Contenu : </p><p><?php echo $query['contenu']; ?></p>
// Fin du document
Le problème c'est que ça n'affiche rien. J'ai fais un echo pour voir si il y a avait bien quelque chose dans les variables et je voyait bien les informations. J'ai bien vérifier s'il n'y avait pas d'erreur de concaténation. J'ai verifier si les données était bien dans la base.
Alors je ne voit pas d'où ça vient.
Merci pour les réponses
A voir également:
- Aide requete sql
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Jointure sql ✓ - Forum MySQL
- Erreur lors de l'envoi de la requête facebook - Forum Facebook