Tom's Guide > Forum > Programmation > Une tribune libre
Mot :    Pseudo :           
 

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&eacute;s sur la tribune libre...
<BR>
<FONT SIZE="-2">
R&eacute;actualisez cette page (pour voir les nouveaux messages) en tapant sur [Entr&eacute;e].
</FONT>
<font size=1>
<BR><BR>

<!-- Début de la tribune -->
<?
// connexion a la base
$db=mysql_connect($serveur, $login, $pwd);

if(!$db){
print "Erreur connection $db<br>";
exit;
}

if(!mysql_select_db($base,$db)){
print "erreur ".mysql_error()."<br>";
mysql_close($db);
exit;
}

// 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)." &agrave; ".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);

echo "</font>";
// Affichage du formulaire
echo "<FORM ACTION=\"".$nom_page."\" METHOD=\"POST\" NAME=\"tribune\">";
echo "<INPUT style=\"FONT-FAMILY: verdana,arial,helvetica; FONT-SIZE: 10pt; \"
TYPE=\"text\" NAME=\"auteur_tribune\" MAXLENGTH=\"30\" SIZE=\"15\" VALUE=\"$auteur\"> \n ";
echo "<INPUT style=\"FONT-FAMILY: verdana,arial,helvetica; FONT-SIZE: 10pt; \"
TYPE=\"text\" NAME=\"texte_tribune\" MAXLENGTH=\"300\" SIZE=\"40\" VALUE=\"$invite_texte\"> \n ";
echo "&nbsp; <INPUT style=\"FONT-FAMILY: verdana,arial,helvetica; FONT-SIZE: 8pt; \"
TYPE=\"submit\" VALUE=\"Envoyer [entr&eacute;e]\">";
echo "</FORM>";


?>
<!-- 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>

___________________________________________________

Et donc je n'arrive pas a le faire marcher
pour cela j'ai deux question?

1=>Qu'est "table_tribune" si c'est c'est un truk en TXT y a t-il une pregrammation a faire dedans ou quoi???

2=> Mon Fichier appeller Tribune.PHP dois-je le mette dans Ftp.webzzanine.net directement ou je peut le mettre dans un sous dossier?

Merci de votre aide

------------------------------ Nous ne remercirons jamais assez le createur de L'ORDINATEUR
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

1/ table_tribune est une table dans ta base mysql, la ou tu mets tes messages

2/ tu le mets ou tu veux


qu'est ce qui marche pas dedans? tu as un message d'erreur, une copie d'ecran... des détails supplémentaires... un indice quoi

Répondre à coca25
------------------------------ Nous ne remercirons jamais assez le createur de L'ORDINATEUR
Répondre à tyoris

remplaces cette ligne:

Code :
  1. // recuperation des N derniers messages
  2. $sql="SELECT * FROM $table_tribune ORDER BY tri_date DESC LIMIT $nb_affiches";
  3. $result=mysql_query($sql,$db);


par

Code :
  1. // recuperation des N derniers messages
  2. $sql="SELECT * FROM $table_tribune ORDER BY tri_date DESC LIMIT $nb_affiches";
  3. $result=mysql_query($sql,$db)  or die (mysql_error ($db));



ca t'affichera une erreur plus explicite


Message édité par coca25 le 24-11-2006 à 20:00:05
Répondre à coca25

retourne voir moi perso je ne voie aucun changement

------------------------------ Nous ne remercirons jamais assez le createur de L'ORDINATEUR
Répondre à tyoris

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
------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn

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

Répondre à coca25

oui, pour l'action vide, en théorie...
Je déteste utiliser les valeurs implicites, chuis pas pote avec les effets de bord :)

------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn

je dois cree un fichier pour les postes de ma tribune libre OK mais il est en quoi table_tribune.TXT,PHP HTML,?????

------------------------------ Nous ne remercirons jamais assez le createur de L'ORDINATEUR
Répondre à tyoris

SQL...
c'est une table dans une base de données

------------------------------ Réseau IRC Francophone | g33k-zone
Défiez-moi donc !
Répondre à crazycat@idn
Tom's Guide > Forum > Programmation > Une tribune libre
Aller à :

Il y a 265 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

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.

Répondre Annuler
Liens