Kam

  • Nombre de sujets
    1
  • Nombre de messages
    6
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Kam
le 23/04/2005 à 16:11
commentaires News
desolé j'ai fait une ptite erreur j'ai envoyé trop vite le message voici le vrai code :

<? 
include "connect.php";
$id = @$_GET['id'];

$sql = 'SELECT * FROM comment WHERE news_id="'.$id.'"';

$req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());


// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {

// on décompose la date
sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
// on affiche les résultats
echo '<body bgcolor="#003494"><table width="100%" border="0">
<tr bgcolor="#000000">
<td>
<table width="100%" border="0">
<tr bgcolor="#847CAD">
<td><font face="Courier New, Courier, mono" size="2" color="#CCCCCC">De <a href="mailto:' ,$data['email'], '">'
,$data['auteur'], '</a> post&eacute; le ' , $jour , '/' , $mois , '/' , $an ,
' à ' , $heure , ':' , $min , ':' , $sec ,'</font><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b></b></font></td>
</tr>
<tr bgcolor="#EAE6FD">
<td><p><font face="Verdana, Arial, Helvetica, sans-serif">' , nl2br(stripslashes(htmlentities(trim($data['message']))))
, '</font></p></td>
</tr>
</table>
</td>
</tr>
</table><hr noshade size="1">';
}



// on teste si le formulaire a été validé
if (isset($_POST['go']) && $_POST['go']=='Ajouter Commentaire') {

// on teste la déclaration de nos variables
if (!isset($_POST['auteur']) || !isset($_POST['email']) || !isset($_POST['message'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['auteur']) || empty($_POST['email']) || empty($_POST['message'])) {
$erreur = 'Au moins un des champs est vide.';
}
// si tout est bon, on peut commencer l'insertion dans la base
else {
// lancement de la requête d'insertion
$sql = 'INSERT INTO comment VALUES("", "'.$id.'", "'.date("Y-m-d H:i:s").'", "'.addslashes($_POST['message']).'", "'.addslashes($_POST['auteur']).'", "'.addslashes($_POST['email']).'")';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());

// on ferme la connexion à la base de données
mysql_close();

// on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
header('Location: ../index.php');
// on termine le script courant
exit();
}
}
}

?>
<html>
<head>
<title>Insertion d'un Commentaire !</title>
</head>

<body>
<? echo $id ; ?>
<!-- on fait pointer le formulaire vers la page traitant les données -->
<form action="comment_zik.php" method="post">
<table>
<tr><td>
<span class="gras">Auteur :</span>
</td><td>
<input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo stripslashes(htmlentities(trim($_POST['auteur']))); ?>">
</td></tr><tr><td>
<span class="gras">Email :</span>
</td><td>
<input type="text" name="email" maxlength="50" size="50" value="<?php if (isset($_POST['email'])) echo stripslashes(htmlentities(trim($_POST['email']))); ?>">
</td></tr><tr><td>
<span class="gras">Message :</span>
</td><td>
<textarea name="message" cols="50" rows="10"><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea>
</td></tr><tr><td><td align="right">
<input type="submit" name="go" value="Ajouter Commentaire">
</td></tr></table>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '',$erreur;
?>
</body>
</html>
Kam
le 23/04/2005 à 16:09
commentaires News
Salut c'est encore c'est OK pour l'affichage des commentaires mais mon probleme maintenant c'est l'insertion dans la base :

Je recupere l'ID de la news avec $_GET et qd j'essaye de l'injecté dans ma table commentaire, cham " id_news " elle m'ajoute la valeur "0" pour touts les commentaires ajouté et pourtant qd je fait echo $_GET['id'] elle m'affiche la bonne valeur d'ID je ne comprend pas pourquoi smiley si quelqu'un peut m'expliquer pourquoi et eventuellement me dire comment je peut y remedier merci.

voici le code concerné :

CREATE TABLE `comment` (
`id` int(11) NOT NULL auto_increment,
`news_id` int(11) NOT NULL default '0',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`message` text NOT NULL,
`auteur` varchar(100) NOT NULL default '',
`email` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=33 ;


ma table est de la forme suivante :

(code]CREATE TABLE `comment` (
`id` int(11) NOT NULL auto_increment,
`news_id` int(11) NOT NULL default '0',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`message` text NOT NULL,
`auteur` varchar(100) NOT NULL default '',
`email` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=33 ;[/code]

merci
Kam
le 22/04/2005 à 18:40
commentaires News
je te remerci ca marche bien maintenant ! ;)
Kam
le 22/04/2005 à 17:36
commentaires News
ma page comment_news

<?
include "connect.php";

$id = $_GET['id'];

$query = 'SELECT * FROM comment WHERE news_id="'.$id.'" ';
$result = mysql_query($query) or die(mysql_error());

$data = mysql_fetch_array($result);

// on décompose la date
sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);

if(empty($id))
{
echo 'test';
}
else{
echo '<body bgcolor="#003494">
<font face="Courier New, Courier, mono" size="2" color="#CCCCCC">Commentaire de
<a href="' ,$data['auteur'], '">' ,$data['auteur'], '</a> post&eacute; le ' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec ,'</font><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b><br>
</b></font>
<table width="100%" border="1" bgcolor="#FFFFFF" bordercolor="#000000">
<tr bgcolor="#847CAD">
<td width="100%" height="9">
<blockquote>
<p><font face="Courier New, Courier, mono" size="2" color="#FFFFFF">', $data['email'] ,'</font></p>
</blockquote>
</td>
</tr>
<tr bgcolor="#EAE6FD">
<td width="30%">
<p><font face="Verdana, Arial, Helvetica, sans-serif">' , nl2br(stripslashes(htmlentities(trim($data['message'])))) , '</font></p>
</td>
</tr>
</table>
<font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b> </b></font>';
}

?>
Kam
le 22/04/2005 à 17:28
commentaires News
si merci ta été clair et j'ai suivie ton conseil :

J'ai fait le lien commentaires sur chaque news j'ai envoyé l'ID de la news dans le lien.. dans ma table de commentaire j'ai rajouter id_news

resultat

ma page de commentaires elle s'ouvre sur une nouvelle fenetre.. mais le probleme..

mais ca maffiche k'un seul commentaire ... c'est bizzard pourtant dans ma base de donnée je voit 2 commentaires avec la meme id_news.

ta pas un exemple rapide a montrer ? merci
Kam
le 19/04/2005 à 18:19
commentaires News
Bonjour !! etant debutant j'ai suivie le cours " comment faire Un script de news " et maintenant je voudrais savoir comment je peut faire pour l'agrémenter d'un script de gestion de commentaires de news je essayer de me lancer mais j'arrive pas a faire en sorte qu'il y'ai des commentaires propres a chaque news ( qui a son propre ID )
LoadingChargement en cours