Bonjour a tous voila je voudrai mettre une tribune libre en PHP mais le probleme c'est que je n'arrive a la programme avec mon "mysql"
__________________________________________________
Voila le code:
// VOUS DEVEZ CHANGER LES VALEURS DES VARIABLES CI-DESSOUS
// Adresse de votre serveur MySQL
$serveur= 'mysql.webzzanine.net';
// Nom de la base de donnees
$base='pcmanie-chat';
// Nom du compte utilisateur de la base de donnees (BDD)
$login='pcmanie';
// Mot de passe pour acceder a la base de données
$pwd='?????';
// Nom de la table creee pour enregistrer les messages
$table_tribune='table_tribune' ;
// Nombre de messages a afficher
$nb_affiches = 10000 ;
// Mettre "true" (sans les guillemets !) comme valeur ci-dessous
//si vous souhaitez que le programme conserve l'historique dans la BDD
$conserve_historique = true ;
// Si vous rencontrez des problemes, mettez le nom du script appelant la tribune
// comme valeur pour $TouTrouver
$TouTrouver = $HTTP_SERVER_VARS['SCRIPT_NAME'];
// VOUS N'AVEZ RIEN A CHANGER DANS LE CODE QUI SUIT.
?>
<FONT FACE="Verdana" size=2>
<BR>Voici les <?= $nb_affiches ?> derniers messages postés sur la tribune libre...
<BR>
<FONT SIZE="-2">
Réactualisez cette page (pour voir les nouveaux messages) en tapant sur [Entrée].
</FONT>
<font size=1>
<BR><BR>
<!-- Début de la tribune -->
<?
// connexion a la base
$db=mysql_connect($serveur, $login, $pwd);
// recuperation des donnees du formulaire
$date=date(YmdHis) ;
$texte_tribune=$HTTP_POST_VARS["texte_tribune"];
$auteur=$HTTP_POST_VARS["auteur_tribune"];
if(trim($auteur) == "" )
$auteur= "Nom";
// si un texte a ete tape, on l'enregistre
if( isset($texte_tribune) && (ltrim($texte_tribune) != "" ) && $texte_tribune && $texte_tribune != "Texte" )
{
$sql="INSERT INTO $table_tribune VALUES('$auteur','$texte_tribune','$date')";
$result=mysql_query($sql,$db);
$invite_texte="";
}
else
{ $invite_texte="Texte"; }
// Si $conserve_historique = false, on efface les messages anciens
if(!$conserve_historique)
{
// recuperation de tous les messages
$sql="SELECT * FROM $table_tribune ORDER BY tri_date ";
$result=mysql_query($sql,$db);
$num=0 ;
if($result)
$num=mysql_num_rows($result);
// on efface les messages trop vieux si $conserve_historique = false
if(($num > $nb_affiches))
{
$efface=mysql_result($result,$num - $nb_affiches -1,"tri_date" );
$sql2="DELETE FROM $table_tribune WHERE tri_date <= '$efface' " ;
$result2=mysql_query($sql2,$db);
}
}
// Affichage des N derniers messages
// recuperation des N derniers messages
$sql="SELECT * FROM $table_tribune ORDER BY tri_date DESC LIMIT $nb_affiches";
$result=mysql_query($sql,$db);
$num=mysql_numrows($result);
$i=$num-1 ; // pour afficher le message le plus recent tout en bas
while($i>=0)
{
$identifiant=htmlspecialchars(mysql_result($result,$i,"tri_auteur" ));
$texte=htmlspecialchars(mysql_result($result,$i,"tri_message" ));
$d=mysql_result($result,$i,"tri_date" );
$date=substr($d,6,2)."-".substr($d,4,2)." à ".substr($d,8,2).":".substr($d,10,2);
$date.=":".substr($d,12,2) ;
// on rend cliquables les URLs de type http ftp mailto callto
$texte=eregi_replace("((http)|(mailto)|(callto)|(ftp)]+)://([^([:space:]'*<>|)>]*)",
"<A HREF=\"\\0\" TARGET=\"_blank\">\\0</A>",$texte);
echo "[".$date."]"." <b>".$identifiant."</b> : ".$texte."<BR> \n";
$i--;
}
// Liberation des resultats
mysql_free_result($result);
// Fermeture de la connexion
mysql_close($db);
?>
<!-- Fin de la tribune - MERCI DE LAISSER LE MESSAGE DE COPYRIGHT -->
<div align="center"><FONT SIZE="1">
Code PHP de la tribune : <A HREF="http://benoit.helicos.com">Benoit Isaac</A><BR>
</font></div>
<br>
il n'y a pas de vérification que sur l'existence d'une tribune.
Donc tant que rien n'est mis, ça foire.
Et le post qui renvoit nulle part, limite léger ça...
Message édité par crazycat@idn le 24-11-2006 à 22:00:08
bon je dois avoir sommeil je vois pas trop l'erreur...
a mon avis ta requete insert doit pas trop marcher met un die apres pour voir l'eventuelle erreur
les warning, c'est parce que t'as rien dans ta base
pour ce qui est de l'action du formulaire elle est vide mais je crois que par défaut le formulaire appelle l'url de la page qui le contient
Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois. Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.
Bonjour,
Il suffit d'insérer une table point dans ta base de données, lorsque l'utilisateur par le biais d'une $_SESSION['id'] aucmente ses points, tu update cette table.
Ensuite pour débloquer se que tu souhaites, tu fais une petite condition:
Code :<?phpif ($_SESSION['point'] < 5) {echo "pas assez de points";} else {echo "assez de points";}?>