Bonjour
j'ai téléchargé sur le web un script de dédicace il est assez complet juste il manque d'une administration c'est-à-dire que j'aimerais ajouter un bouton Supprimer bloquer l ip ou affiché le message recu sur mon site j'ai fait un tour sur le web mais je ne trouve pas où je n'y arrive pas du tous a modifier je vous envoie les code ci-dessous du script complet si possible de m'aider ça me ferait super plaisir merci
Config.php
<?php
/*-------------------------------------------------
| A MODIFIER |
-------------------------------------------------*/
/*Variables pour la connexion a la base de donnée */
$host = ""; //L'adresse du serveur MySql
$username_sql = ""; //Le nom d'utilisateur
$password_sql = ""; //Le mot de passe
$nom_bd_sql = "radiobe2_site"; //Le nom de la base de donnée (Database)
/*Variables pour le systeme de dédicace*/
$nombre_limiter_pseudo_mini = '3'; //nombre minimum de caractere pour le pseudo
$nombre_limiter_pseudo_maxi = '103'; //nombre maximum de caractere pour le pseudo
$nombre_limiter_message_mini = '2'; //nombre minimum de caractere pour le message
$nombre_limiter_message_maxi = '40000'; //nombre maximum de caractere pour le message
$tempsantiflood = '30'; //Nombre de secondes entre chaque message pour l'antiflood
/*-------------------------------------------------
| ! NE PAS MODIFIER ! |
-------------------------------------------------*/
session_start();
mysql_connect($host, $username_sql, $password_sql) or die('Impossible de se connecter au serveur '.$host.'. veuillez verifier votre configuration');
mysql_select_db($nom_bd_sql) or die('Impossible de se connecter a la base de donnée '.$nom_bd_sql.'');
?>
Lire.php
<center>
<?php
include ('config.php'); //A inserer sur chaques pages d'envoie et d'affichage des dédicaces
include ('envoi.php'); //A insérer seulement sur la page d'envoie des dédicaces
?>
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Lire message - radio</title>
<style type="text/css">
h1 {
font-size: 26px;
color: #333;
text-align:center;
}
h2 {
font-size: 22px;
color: #69F;
text-align:center;
}
h3 {
font-size: 18px;
color: #333;
}
p{
display:inline;
}
.titre {
font-weight: bold;
color: #69F;
}
.pseudo {
font-weight: bold;
color: #69F;
}
.dedicace {
font-style: italic;
margin-right: 30px;
}
.err
{
color:#F00;
font-weight: bolder;
}
.ok
{
color:#0C3;
font-weight: bolder;
}
</style>
</head>
</center>
<marquee width=1240 height=32 direction=left>
<?php
/*On cherche les 10 dernière dédicaces dans la base de donnée*/
$retour_dedi = mysql_query('SELECT * FROM message ORDER BY id DESC limit 0,10')or die(mysql_error("Impossible de selectionner les données dans la tables <b>'message'</b> "));
while($donnes_dedi = mysql_fetch_array($retour_dedi))//On fais une boucle
{
$pseudo_dedicace = htmlspecialchars($donnes_dedi['pseudo']); //On récupère le pseudo
$message_dedicace = htmlspecialchars($donnes_dedi['message']); // On récupère la dédicace
echo '<p class="pseudo">'.$pseudo_dedicace.'</p> <p class="dedicace">'.$message_dedicace.'</p>'; //On affiche la dédicace
}
?>
</marquee>
<br /><br /><br />
Envoi.php
<?php
// Si l'auditeur à cliquer sur envoyer
if (isset($_POST['envoyer_dedi']))
{
$pseudo_post = mysql_real_escape_string($_POST['pseudo_poster']); //On récupère le pseudo
$message_post = mysql_real_escape_string($_POST['message_poster']); // on récupère le message
// Si l'auditeur n'a pas mis de pseudo
if ($_POST['pseudo_poster']==null)
{
echo "<p class='err'>Vous n'avez pas renseigné de pseudo</p><br />";
}
// Si l'auditeur n'a pas mis de message
else if ($_POST['message_poster']==null)
{
echo "<p class='err'>Vous n'avez pas renseigné de message</p><br />";
}
//Si l'auditeur à renseigner le pseudo + le message
else if ($_POST['pseudo_poster']!=null && $_POST['message_poster']!=null)
{
// Si le pseudo est plus grand ou plus petit que les limites mis dans config.php
if(strlen($pseudo_post) < $nombre_limiter_pseudo_mini || strlen($pseudo_post) > $nombre_limiter_pseudo_maxi)
{
echo "<p class='err'>Votre pseudo doit être compris entre ".$nombre_limiter_pseudo_mini." et ".$nombre_limiter_pseudo_maxi." caractères</p><br />";
}
// Si le message est plus grand ou plus petit que les limites mis dans config.php
else if(strlen($message_post) < $nombre_limiter_message_mini || strlen($message_post) > $nombre_limiter_message_maxi)
{
echo "<p class='err'>Votre message doit être compris entre ".$nombre_limiter_message_mini." et ".$nombre_limiter_message_maxi." caractères</p><br />";
}
// Si il n'y a pas d'erreurs
else
{
//On calcul de temps d'envoie entre l'ancienne dédicace (antiflood)
$tempsrestant = time() - $_SESSION['time'];
$tempsatt = $tempsantiflood-$tempsrestant;
//Si le temps est inférieur à la limite d'antiflood du config.php
if($_SESSION['time']!=null && $tempsrestant < $tempsantiflood)
{
echo "<p class='err'>Veuillez attendre ".$tempsatt." secondes <br />avant d'envoyer un nouveau message</p><br />";
}
//Si le temps est supérieur à la limite d'antiflood
else
{
$ip = $_SERVER['REMOTE_ADDR']; // On récupère l'ip
$date = 'le : '.date('d/m/Y').' a '.date('H:i').''; //On récupère la date
//On insère les infos dans la base MySql
mysql_query("INSERT INTO message(pseudo, message, ip, date) VALUES('".$pseudo_post."', '".$message_post."', '".$ip."', '".$date."')")or die(mysql_error("Impossible d'envoyer les données dans la base de donnée!"));
//On met le message comme quoi la dédicace à bien été envoyé
echo "<p class='ok'>Votre message à bien été envoyé !.</p><br />";
$_SESSION['time'] = time();//On récupère l'heure à la quel le message à été envoyé
$pseudo_post = "";
$message_post = "";
}
}
}
}
?>
Admin.php
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Admin - radio</title>
<style type="text/css">
h1 {
font-size: 26px;
color: #333;
text-align:center;
}
h2 {
font-size: 22px;
color: #69F;
text-align:center;
}
h3 {
font-size: 18px;
color: #333;
}
p{
display:inline;
}
.titre {
font-weight: bold;
color: #69F;
}
.pseudo {
font-weight: bold;
color: #69F;
}
.dedicace {
font-style: italic;
margin-right: 30px;
}
.err
{
color:#F00;
font-weight: bolder;
}
.ok
{
color:#0C3;
font-weight: bolder;
}
</style>
</head>
<center>
<?php
include ('config.php'); //A inserer sur chaques pages d'envoie et d'affichage des dédicaces
include ('envoi.php'); //A insérer seulement sur la page d'envoie des dédicaces
?>
<center>
<!--Formulaire d'envoie de la dédicace-->
<h3>Envoi un message</h3>
<form method="post" action="#">
<p>Pseudo</p><br /><input type="text" maxlength="20" name="pseudo_poster" <?php echo 'value="'.$pseudo_post.'"';?> /><br/><br/>
<p>Message</p><br /><textarea cols="30" rows="5" name="message_poster"><?php echo $message_post;?></textarea><br/><br/>
<input type="submit" name="envoyer_dedi" value="envoyer" />
</form>
<center>
<h3>Message reçu</h3>
<table width="900" border="1">
<tr>
<td width="150" align="center">
Pseudo / IP
</td>
<td align="center">
Message / Date
</td>
</tr>
<?php
/*On cherche les 20 dernière dédicaces dans la base de donnée*/
$retour_dedi = mysql_query('SELECT * FROM message ORDER BY id DESC limit 0,20')or die(mysql_error("Impossible de selectionner les données dans la tables <b>'message'</b> "));
while($donnes_dedi = mysql_fetch_array($retour_dedi))//On fais une boucle
{
$pseudo_dedicace = htmlspecialchars($donnes_dedi['pseudo']); //On récupère le pseudo
$message_dedicace = htmlspecialchars($donnes_dedi['message']); // On récupère la dédicace
$date_dedicace = htmlspecialchars($donnes_dedi['date']); //On récupère la date d'envoie
$ip_dedicace = htmlspecialchars($donnes_dedi['ip']); // On récupère l'ip
echo '
<tr>
<td width="150">
<p class="pseudo">'.$pseudo_dedicace.'</p><br /><br /><p><i>'.$ip_dedicace.'</i></p>
</td>
<td>
<p class="dedicace">'.$message_dedicace.'</p><br /><br /><p>=> Envoyé '.$date_dedicace.'</p>
</td>
</tr>'; //On affiche la dédicace
}
?>
</table>
</body>
</html>
SQL
-- phpMyAdmin SQL Dump
-- version 4.7.3
-- https://www.phpmyadmin.net/
--
-- Hôte : localhost:3306
-- Généré le : mer. 06 déc. 2017 à 20:03
-- Version du serveur : 10.1.24-MariaDB-cll-lve
-- Version de PHP : 5.6.30
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Base de données : `radiobe2_site`
--
-- --------------------------------------------------------
--
-- Structure de la table `message`
--
CREATE TABLE `message` (
`valide_stat` int(11) NOT NULL,
`id` int(11) NOT NULL,
`pseudo` text NOT NULL,
`message` text NOT NULL,
`ip` text NOT NULL,
`date` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Déchargement des données de la table `message`
--
INSERT INTO `message` (`valide_stat`, `id`, `pseudo`, `message`, `ip`, `date`) VALUES
(0, 14, 'Fred', 'Bienvenue ', '1', 'le : 11/11/2017 a 20:55');
--
-- Index pour les tables déchargées
--
--
-- Index pour la table `message`
--
ALTER TABLE `message`
ADD PRIMARY KEY (`id`);
--
-- AUTO_INCREMENT pour les tables déchargées
--
--
-- AUTO_INCREMENT pour la table `message`
--
ALTER TABLE `message`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=33;COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;