fred-xhaflaire
Messages postés13Date d'inscriptionjeudi 7 décembre 2017StatutMembreDernière intervention16 décembre 2019
-
Modifié le 7 déc. 2017 à 20:20
fred-xhaflaire
Messages postés13Date d'inscriptionjeudi 7 décembre 2017StatutMembreDernière intervention16 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.''); ?>
<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 = ""; } } } } ?>
<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>
<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 */;
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` --
-- -- 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 */;
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
Messages postés13Date d'inscriptionjeudi 7 décembre 2017StatutMembreDernière intervention16 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
8 déc. 2017 à 19:58