Amélioration Script de dédicace

fred-xhaflaire 2 Messages postés jeudi 7 décembre 2017Date d'inscription 8 décembre 2017 Dernière intervention - 7 déc. 2017 à 20:17 - Dernière réponse : fred-xhaflaire 2 Messages postés jeudi 7 décembre 2017Date d'inscription 8 décembre 2017 Dernière intervention
- 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 */;
Afficher la suite 
2Messages postés jeudi 7 décembre 2017Date d'inscription 8 décembre 2017 Dernière intervention

2 réponses

Répondre au sujet
jordane45 19201 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 10 décembre 2017 Dernière intervention - 8 déc. 2017 à 00:12
+1
Utile
1
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 ... :-)

fred-xhaflaire 2 Messages postés jeudi 7 décembre 2017Date d'inscription 8 décembre 2017 Dernière intervention - 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
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.