CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

requete SQL avec formulaire

jehuty21
jehuty21
Niveau 10
26 août 2005 à 18:07:59

bonjour tout le monde, j´ai pris le script du chat du siteduzero pour m´evitez la peine de tapez tout ca..
apres j´ai decide de rajouter quelque elements ( design, suppression des anciens messages, anti-flood, etc. ) mais deux requetes viennent mettre la pagaille dans mon script..
mieux que de long discours, voila le script.. et l´erreur que me donne mon naviguateur.

et j´ai crée une base´mf´ avec une table qui s´appelle´chat´, avec comme champ:´id´( avec auto incrementation ),´pseudo´,´message´ et ´date´

Parse error: parse error, expecting `T_STRING´ or `T_VARIABLE´ or `T_NUM_STRING´ in c:\documents and
settings\cedric\bureau\projet\manga-forever\chat.p
hp on line 21

hum hum, je n´ai aucune idee de ce que cela veux dire, alor je vous remet tout mon code, si quelq´un trouve l´erreur..

Code:

<?php

if (isset($_POST[´pseudo´]) AND isset($_POST[´message´])) // Si les variables existent
{
if ($_POST[´pseudo´] != NULL AND $_POST[´message´] != NULL) // Si on a quelque chose à enregistrer
{
// D´abord, on se connecte à MySQL
mysql_connect("localhost", "root", "");
mysql_select_db("mf");

$retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM chat"); //on compte le nombre d´entrée
$timestamp_pseudo = mysql_query("SELECT date FROM chat WHERE pseudo = ($_POST[´pseudo´])"); //on recupere le timestamp du dernier message poster par le pseudo de $_post[´pseudo´]
if ( $timestamp_pseudo >= time()-30 )
{
echo "pas de flood svp!";
}
else
{
mysql_query("DELETE FROM chat WHERE id > 50"); //on supprime les entrée qui ont une "id" plus grande que 50
$dernier_message = mysql_query("SELECT FROM chat WHERE ID = $retour"); // on recupere le dernier message poster
if( $_post[´message´] = $dernier_message ) // si le message que le client veut enregistrer est le meme que le dernier enregistrer dans la table
{
}
else
{
// On utilise la fonction PHP htmlentities pour éviter d´enregistrer du code HTML dans la table
$message = htmlentities ($_POST[´message´]);
$pseudo = htmlentities ($_POST[´pseudo´]);
$timestamp = (time());

// Ensuite on enregistre le message
mysql_query("INSERT INTO chat VALUES(´´, ´$pseudo´, ´$message´, ´$timestamp´)");

// On se déconnecte de MySQL
mysql_close();

}
}
}

// Que l´on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages

// Tout d´abord le formulaire :
?>

<form action="chat.php" method="post">

<p class="champ">
Pseudo : <input type="text" name="pseudo"/>
Message : <input type="text" name="message"/>
<input type="submit" value="Envoyer" />
<input type="reset" value="Effacer" />
</p>

</form>

<?php
// Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d´abord à MySQL :
mysql_connect("localhost", "root", "");
mysql_select_db("mf");

// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM chat ORDER BY ID DESC LIMIT 0,9");

// On se déconnecte de MySQL
mysql_close();

// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) or die(mysql_error()) )
{
?>
<p class="message"><?php echo date(´H\:i´, $donnees[´date´]); ?> <strong><?php echo $donnees[´pseudo´]; ?> </strong>:<? echo $donnees[´message´]; ?> </p>

<?php
}
?>

l´erreur vient de cette partie ( si je l´eneleve tout passe nickel )

$timestamp_pseudo = mysql_query("SELECT date FROM chat WHERE pseudo = ($_POST[´pseudo´])"); //on recupere le timestamp du dernier message poster par le pseudo de $_post[´pseudo´]
if ( $timestamp_pseudo >= time()-30 )
{
echo "pas de flood svp!";
}
else
{
mysql_query("DELETE FROM chat WHERE id > 50"); //on supprime les entrée qui ont une "id" plus grande que 50
$dernier_message = mysql_query("SELECT FROM chat WHERE ID = $retour"); // on recupere le dernier message poster
if( $_post[´message´] = $dernier_message ) // si le message que le client veut enregistrer est le meme que le dernier enregistrer dans la table
{
}
else
{

si quelqu´un peut m´aider parce que la je seche un peu beaucoup..( a mon avis la formation de mes requetes SQL ne sont pas bonnes ( j´ai supposé que le principe etait comme ca^^ )

:merci: d´avance.

-dr_thrawn-
-dr_thrawn-
Niveau 9
26 août 2005 à 18:54:28

Remplace le début par ceci :
$req_retour = mysql_query(´SELECT COUNT(id) FROM `chat`´);
$row = mysql_fetch_row($req_retour);
$retour = $row[0]; //on compte le nombre d´entrée
$req_timestamp_pseudo = mysql_query(´SELECT `date` FROM `chat`
WHERE `pseudo` = "´.$_POST[´pseudo´].´"´);
$timestamp_pseudo = mysql_fetch_assoc($req_timestamp_pseudo); //on recupere le timestamp du dernier message posté par le pseudo de $_post[´pseudo´]
$current_time_30 = time() - 30;
if ( $timestamp_pseudo[´date´] >= $current_time_30 )
{
echo "pas de flood svp!";
}
else
{
mysql_query(´DELETE FROM `chat` WHERE `id` > 50"); //on supprime les entrée qui ont une "id" plus grande que 50
$req_dernier_message = mysql_query(´SELECT `message` FROM `chat` WHERE id = ´.$retour");
$dernier_message = mysql_fetch_assoc($req_dernier_message); // on recupere le dernier message poster
if( $_POST[´message´] == $dernier_message[´message´] ) // si le message que le client veut enregistrer est le meme que le dernier enregistrer dans la table
{
echo ´pas de flood svp´;
}
else
{

-dr_thrawn-
-dr_thrawn-
Niveau 9
26 août 2005 à 18:55:49

Ah et il manque une accolade avant la dernière condition

jehuty21
jehuty21
Niveau 10
26 août 2005 à 19:41:28

merci je vais essayer ca
:merci:

jehuty21
jehuty21
Niveau 10
26 août 2005 à 21:36:00

ca marche tres bien, fiou, merci a toi pour ton aide
:merci:

dgdg350
dgdg350
Niveau 9
26 août 2005 à 21:53:04

de rien :lol: -Dr_Thrawn-

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment