Amélioration Script de dédicace

Résolu
fred-xhaflaire Messages postés 13 Date d'inscription jeudi 7 décembre 2017 Statut Membre Dernière intervention 16 décembre 2019 - Modifié le 7 déc. 2017 à 20:20
fred-xhaflaire Messages postés 13 Date d'inscription jeudi 7 décembre 2017 Statut Membre Dernière intervention 16 décembre 2019 - 8 déc. 2017 à 19:58
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 */;

1 réponse

jordane45 Messages postés 38137 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
8 déc. 2017 à 00:12
Bonjour,

Pour commencer... passe le en PDO ou mysqli
http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

Ensuite.... dis nous exactement ce que tu as essayé de faire (en nous montrant le code correspondant) et là nous pourrons essayer de t'aider.
Car bon... nous n'allons pas le coder à ta place ... :-)

1
fred-xhaflaire Messages postés 13 Date d'inscription jeudi 7 décembre 2017 Statut Membre Dernière intervention 16 décembre 2019
8 déc. 2017 à 19:58
Bonjour je ne mi connaît pas du tous pour le modifier et enfaite j'aimerai ajouter sur la page admin un bouton pour ne pas que les dédicace s affiche directement sur lire.php ces à dire un bouton accepter supprimé et bloqué l up si possible merci
0
Rejoignez-nous