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

Prob : chrch codeur php pour le résoudre

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
Zax
Zax
Niveau 9
31 mai 2007 à 21:55:35

Salut a tous, tout d´abord désolé pour ce titre long et pas très compréhensible, je vais commencer par me présenter : je vien de finir d´apprendre les bases du php 4 et je me lance dans mon premier site réalisé dans ce langage (ce qui me permet de me tester tout en faisant quelquechose de constructif), or j´ai un peu de mal a réalisé la fonctionalité prinsipal je m´explique : le concepte de mon site "5minute" est un peu comparable à celui du site anglais "9 minutes of fame" (pour ceux qui connaissent) sauf qu´il n´est ici nul question de blog, en bref il s´agit d´un site ou tout les 5 minutes les uttilisateurs doivent se ruer sur un formulaire qui apparait afin d´entrer un message qui, pour l´uttilisateur qui sera le plus rapide, apparaitera pendant 5 minutes dans le header du site, idéal pour déclarer ca flame, pour faire passé un message, pour faire de la pub pour son site perso ou juste pour profité de ces 5 minutes de célébrité. (Bon je me rend bien compte que je suis entrain de raconter ma vie mais vous allez voir que ce n´est pas en vain).

Donc maintenant que vous avez compris (ou pas) le concepte voici mon problème : je n´arrive tout simplement pas a faire en sorte que la table sql sur laquelle seront stoqué les messages n´en prenne qu´un seul (le plus rapide) toute les 5 minutes.

La piste que j´ai exploré pour l´instant est celle ci :
<code type="php"> if (date(´i´) == 05 OR date(´i´) == 15 OR date(´i´) == 20 OR date(´i´) == 25 OR date(´i´) == 30 OR date(´i´) == 35 OR date(´i´) == 40 OR date(´i´) == 45 OR date(´i´) == 50 OR date(´i´) == 55 OR date(´i´) == 00)
{
print ´<form method="post" action="index.php?page=send">
<textarea name="message" rows="8" cols="45">
Tape vite ton message ici pour gagné tes 5 minutes de célébrités.
</textarea>
<input type="submit" value="Valider" />
</form>´;
} </code>
(pour ce qui est du "index.php?page=send" sachez que ma page prinsipale qu´est index.php inclue (avec les "include") la page send.php)

Voila merci beaucoup aux grands sages qui auront pris le temps de me lire et celui de me repondre pour m´eclairer.

axeee
axeee
Niveau 9
01 juin 2007 à 19:15:54

Euh déja c´est pas <code type="php"></code> ^^ mais <? ton code en php ?>

Tu peux te servir du timestamp, la fonction doit être time() normalement.

En gros, tu prend un seul utilisateur (le premier qui vient), tu remplace le vieux message par le nouveau dans une bdd et il ne se passe rien, lorsqu´un autre utilisateur se présente, on regarde si le temps est écoulé ou pas etc...

C´est partie

<?
// recup du timestamp
$nouveau_timestamp = time();

//connexion à la bdd
mysql_connect("identifiants", "identifiants", "identifiants");
mysql_select_db("base_de_donnee");

// On va chercher l´ancien timestamp pour savoir si les 5minutes sont passées
$sql = mysql_query("SELECT * FROM table");
while ($donnees = mysql_fetch_array($sql))
{
$ancien_timestamp = $donnees[´timestamp´];
//le champ de la bdd doit s´appeller timestamp
}
//on soustrait pour trouver le temps qu´il s´est passé entre maintenant
//et avant, attention, le résultat est en seconde !
$difference_timestamps = $nouveau_timestamp - $ancien_timestamp;

// si le temp est plus petit que 5 minutes (300 secondes)
if ($difference_timestamps < 300)
{
?>
<!--on affiche le formulaire-->

<form method="post" action="index.php?page=send">
<textarea name="message" rows="8" cols="45">
Tape vite ton message ici pour gagné tes 5 minutes de célébrités.
</textarea>
<input type="submit" value="Valider" />
</form>

<?
}
//sinon (si les 5min ne sont pas passées)
else
{
echo ´Désolé mais tu n´est pas le premier à venir te présenter ici´;
}
?>

Voila déjà ta page pour voir si l´on peut poster ou pas

PS : ta table doit avoir 3champs minimum : pseudo, message, timestamp

axeee
axeee
Niveau 9
01 juin 2007 à 19:33:52

Au fait n´oublie pas de déconnecter mysql ^^ (moi j´ai oublié)

maintenant, j´attaque la page send.php.

<?
mysql_connect("toto", "toto", "toto");
mysql_select_db("base_de_donnee); //je me connecte tout de suite

//recup´ des variables à poster (message/pseudo/timestamp)
$message = $_POST[´message´];
$pseudo = //Je sais pas, à toi de mettre
$timestamp = time();

mysql_query("UPDATE table SET pseudo=$pseudo , message=$message , timestamp=$timestamp" WHERE id=1);

/* IMPORTANT : dans la requete si dessus, WHERE indique la ligne sur la
quelle on veut changer quelque chose, sachant que nous on aura qu´une ligne puisque on fait toujours des remplacements, on s´en fou, mais j´ai vu que sans WHERE, le script ne marche pas, alors il suffit d´aller rajouter un champ qui s´appellera ´id´ et qui vaudrait 1 */
?>

Voila, pour que ce script marche, je pense qu´il faut qu´il y ai déjà les champs remplis

PS : je n´ai pas essayé ce script, alors fait moi savoir si il fonctionne ou pas

Zax
Zax
Niveau 9
01 juin 2007 à 21:48:02

Merci beaucoup de m´avoir repondut (j´aurais jamais pensé a ca perso ^^)
Je vais le tester et je te dit si ca marche.

Zax
Zax
Niveau 9
01 juin 2007 à 22:19:09

J´ai un message d´erreur :
Parse error: syntax error, unexpected T_STRING, expecting ´,´ or ´;´ in /home/olympe-network/5minutes/minutes.php on line 39

la ligne 39 étant :
echo ´Désolé mais tu n´est pas le premier à venir te présenter ici´;

deepblue
deepblue
Niveau 16
01 juin 2007 à 22:27:27

echo ´Désolé mais tu n\´est pas le premier à venir te présenter ici´;

ou

echo "Désolé mais tu n´est pas le premier à venir te présenter ici";

Zax
Zax
Niveau 9
01 juin 2007 à 22:44:27

ah oui j´avais pas vu ^^

bon maintenant j´ai des problèmes avec ma base de donné ^^

je cite :
"
Warning: mysql_connect() [function.mysql-connect]: Can´t connect to local MySQL server through socket ´/var/run/mysqld/mysqld.sock´ (2) in /home/olympe-network/5minutes/minutes.php on line 6

Warning: mysql_select_db() [function.mysql-select-db]: Can´t connect to local MySQL server through socket ´/var/run/mysqld/mysqld.sock´ (2) in /home/olympe-network/5minutes/minutes.php on line 7

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/olympe-network/5minutes/minutes.php on line 7

Warning: mysql_query() [function.mysql-query]: Can´t connect to local MySQL server through socket ´/var/run/mysqld/mysqld.sock´ (2) in /home/olympe-network/5minutes/minutes.php on line 10

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/olympe-network/5minutes/minutes.php on line 10

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/olympe-network/5minutes/minutes.php on line 11

Warning: mysql_close(): no MySQL-Link resource supplied in /home/olympe-network/5minutes/minutes.php on line 19
Désolé mais tu n´est pas le premier à venir te présenter ici"

Ca vient surment ce que j´ai entré connecté mysql. Non ?

deepblue
deepblue
Niveau 16
01 juin 2007 à 23:13:55

Tu es sur de tes identifiants ?

Zax
Zax
Niveau 9
01 juin 2007 à 23:23:59

bah je penses,
voila ce qu´il me donne dans le mail

Accès MySQL :
Serveur : sql.olympe-network.com / Port : 3306
Nom d´utilisateur : 5minutes
Mot de passe : s*****0
Base de données : 5minutes

et voici ce que j´ai mit :

mysql_connect("ftp.olympe-network.com:3306", "5minutes", "s*****0");
mysql_select_db("5minutes");

C´est bien comme ça quon se connect non ?

deepblue
deepblue
Niveau 16
01 juin 2007 à 23:30:18

test sans le :3306

Zax
Zax
Niveau 9
01 juin 2007 à 23:34:24

Je peus pas on dirait que le serveur de mon hebergeur a planté (oui oui j´ai vraiment une chance de fou moi ^^).
J´espere que ce sera vite rétablit.

axeee
axeee
Niveau 9
02 juin 2007 à 08:14:34

5minutes ?! c´est bizard, c´est pas un pseudo ? T´es sur que c´est le bon ?

Ba essaye le sur ton ordi déjà, pour mac j´ai MAMP comme logiciel, sinon pour PC ya easyPHP
http://www.siteduzero.com/tuto-3-66-1-un-programme-utile-easyphp.html merci ô grand site du zero ^^, n´oublie pas d´adapter les autres requetes sql à ta base de donnees

Zax
Zax
Niveau 9
02 juin 2007 à 12:13:43

Ca marche avec easy php ^^
´fin presque pasque sur la page send.php il me dit :
Notice: Undefined index: message in c:\users\acer\desktop\site web\5 minutes\send.php on line 6

la ligne 6 étant $message = $_POST[´message´];

axeee
axeee
Niveau 9
02 juin 2007 à 12:49:43

Bon déjà c´est que tes identifiants ne sont pas bon auprès de ton hébergeur, mais le code marche.

D´après ce que je voie, la variable n´est pas définie, verifie si $_POST[´message´] a été envoyer avec la methode GET par exemple

Zax
Zax
Niveau 9
02 juin 2007 à 13:05:50

"D´après ce que je voie, la variable n´est pas définie, verifie si $_POST[´message´] a été envoyer avec la methode GET par exemple"

C´est a dire ?
Entoucas le truc c´est que le textarea (placé sur la page minute.php elle même inclu dans index.php) renvois les info vers index.php?page=send mais comme j´ai sur mon index.php ceci :
if ($_GET[´page´] == ´send´)
{include("send.php");
}
en fin de compte j´arrive sur une page index.php dans laquelle est inclu send.php.

Bref est-ce que la variable peu suivre se chemain ou est-ce que je dois changer quelquechose ?

axeee
axeee
Niveau 9
02 juin 2007 à 14:09:15

Ah oui peut-être que si elle est inclue, ça peut compliquer les choses, pourquoi veut tu inclure cette page ? Essaye sans include, juste de faire un echo de la variable $_POST[´message´]

Sinon pour le post en get :
Change <form method="post" action="index.php?page=send">
en <form method="get" action="index.php?page=send">

replace methode="post" par "get", ça ne va faire marcher en aucun cas le code, mais on poura savoir si la variable a bien été envoyé : lorsque tu appuie sur submit, si la variable est bien envoyer, tu vera dans la barre d´adresse : index.php?page=send&message=le+message

Zax
Zax
Niveau 9
06 juin 2007 à 16:29:42

Après quelque corection mon site marche !

(Du moins sur mon pc j´ai eu quelque problème avec mon hebergeur ^^)

Merci beaucoup a vous deux !

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