Aller au contenu

[PHP TUTO] Systeme de dédicass


Killian Fabro

Messages recommandés

Bon voilà je vais vous posté mon système dédi.

Allé c'est partie on commence avec l'index.php :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Accueil les dédis!</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<marquee behavior="scroll" scrollamount="5" direction="left" width="800">
<?php
include('config.php');
/*on selectionne les derniere 10derniere dedicase envoyer dans la bd e ton les li*/
$retour_dedi = mysql_query('SELECT * FROM dedicasse ORDER BY id DESC limit 0,10')or die(mysql_error("Impossible de selectionner les données dans la tables <b>'dedicasse'</b> "));

/* on verifie si une dedicasse existe */
$donnes_dedi_compte = mysql_num_rows($retour_dedi);
if($donnes_dedi_compte > 0){ /* si une dedicasse existe alors on continue le script */
/*petite boucle while pour afficher les 10 derniere dedi*/
while($donnes_dedi = mysql_fetch_array($retour_dedi)){

/*variables pour els dedicasse+secu */
$pseudo_dedicasse = htmlspecialchars($donnes_dedi['pseudo']);
$message_dedicasse = htmlspecialchars($donnes_dedi['message']);
$date_dedicasse = $donnes_dedi['date'];
?>
Par <b><u><?php echo $pseudo_dedicasse; ?></b></u> <i><?php echo $date_dedicasse; ?></i> - <b><u>Message:</u></b> <?php echo $message_dedicasse; ?> <b>.::.</b>  
<?php
}
}else{ /*aucune dedicasse existe on affiche un petit message :) */
?>
Il y a actuellement aucune dedicasse disponnible!
<?php
}
?>
</marquee>
</body>
</html>

Comme vous pouvez voir on prend les 10 dernière dedicasse et on les met direct sur le site et aussi un système de marquee pour que sa défile :P.

On continue avec envoie.php

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Envoyer une dédicasse</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
#erreur{
width: 250px;
border: 2px solid #CD3333;
text-align: justify;
padding: 3px;
padding-left: 5px;
margin-top: 10px;
margin-bottom: 10px;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #FAFAFA;
}

#bon{
width: 250px;
border: 2px solid #66CD00;
text-align: justify;
padding: 3px;
padding-left: 5px;
margin-top: 10px;
margin-bottom: 10px;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #FAFAFA;
}
</style>
</head>
<body>
<?php
include('config.php');

/*on verifie si le formulairz a était envoyer */
if(isset($_POST['envoyer_dedi'])){
if(isset($_POST['pseudo_poster']) && $_POST['pseudo_poster'] != null){ //si le pseudo est diffrent de "Vide" (que il y a quelque chose a l'interieur ) on continue la requete
if(isset($_POST['message_poster']) && $_POST['message_poster'] != null){ //si le message est diffrent de "Vide" (que il y a quelque chose a l'interieur ) on continue la requete

/*variables de verification+envoi a la base de donnée*/
##pour la bd###
$pseudo_post = mysql_real_escape_string($_POST['pseudo_poster']);
$message_post = mysql_real_escape_string($_POST['message_poster']);
$ip = $_SERVER['REMOTE_ADDR'];
$date = 'le : '.date('d/m/Y').' à '.date('H\hi:s').'';

##pour les verifs###
$nombre_limiter_pseudo_mini = '3'; //nombre minimum de caractere pour le pseudo
$nombre_limiter_pseudo_maxi = '13'; //nombre maximum de caractere pour le pseudo

$nombre_limiter_message_mini = '5'; //nombre minimum de caractere pour le message
$nombre_limiter_message_maxi = '60'; //nombre maximum de caractere pour le message

if(strlen($pseudo_post) > $nombre_limiter_pseudo_mini){ //verification si le pseudo est pas court

if(strlen($pseudo_post) < $nombre_limiter_pseudo_maxi){ //verification si le pseudo est pas long

if(strlen($message_post) > $nombre_limiter_message_mini){ //verification si le message est pas court

if(strlen($message_post) < $nombre_limiter_message_maxi){ //verification si le message est pas long

echo '<div id="bon">Votre dédicasse a bien était envoyer.</div>';
########Tout est bon, on envoi le tout dans la base de donnée#######
mysql_query("INSERT INTO dedicasse(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!"));

}else{ //le message est trop long on affiche l'erreur
echo '<div id="erreur">Votre message est trop long</div>';
}

}else{ //le message est trop court on affiche l'erreur
echo '<div id="erreur">Votre message est trop court</div>';
}

}else{ //le pseudo est trop long on affiche l'erreur
echo '<div id="erreur">Votre pseudo est trop long</div>';
}

}else{ //le message est trop court on affiche l'erreur
echo '<div id="erreur">Votre pseudo est trop court</div>';
}

}else{ //le message est vide on affiche l'erreur
echo '<div id="erreur">Vous avez oublier votre message!</div>';
}

}else{ //le pseudo est vide on affiche l'erreur
echo '<div id="erreur">Veuillez indiquer un pseudo</div>';
}
}
?><br/>
Envoyer votre dedicasse:
<form method="post" action="envoi.php">
<b>Pseudo : </b><input type="text" name="pseudo_poster" /><br/>
<b>Votre Message : </b><textarea name="message_poster"></textarea><br/>
<input type="submit" name="envoyer_dedi" value="Envoyer" />
</form>
</body>
</html>

Bon voilà rien a dire pour le moment c'est un formulaire simple et si il tape faux il y a un rectangle rouge qui s'affiche et une rectangle vers si c'est bon.

La on va continuer avec le ficher config.php

<?php

/*Variables pour la connexion a la base de donnée */

$host = "votre serveur mysql";

$username_sql = "votre pseudo sql";

$password_sql = "votre password sql";

$nom_bd_sql = "votre nom de la db pour les dedicasse";

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.'');

/*Variables pour la connexion a l'interface admin pour les dedicasse*/

$pseudo_admin = 'votre pseudo admin';

$mot_de_passe_admin = 'votre mot de passs admin';

?>

Cette fois ci j'ai pas mit la balise code pour que vous voyaient se que vous devez modifiez en rouge comme vous pouvez voir aussi il y à un système d'administration :)

Et voilà on continue maintenant avec la page admin.php

 <?php
session_start(); /*demmarage de session ne surtout paas ecrire de code html ou autre avant ça! */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Administration</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
#erreur{
width: 250px;
border: 2px solid #CD3333;
text-align: justify;
padding: 3px;
padding-left: 5px;
margin-top: 10px;
margin-bottom: 10px;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #FAFAFA;
}

#bon{
width: 250px;
border: 2px solid #66CD00;
text-align: justify;
padding: 3px;
padding-left: 5px;
margin-top: 10px;
margin-bottom: 10px;
border-radius: 3px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #FAFAFA;
}
</style>
</head>
<body>
<?php
include('config.php');

/*si la session connecter existe alors on affiche les pages*/
if($_SESSION['connecter'] == true){
if(isset($_GET['page'])){

if($_GET['page'] == 'supprimer'){
if(isset($_GET['id'])){
if($_GET['id']){
mysql_query('DELETE FROM dedicasse WHERE id='.mysql_real_escape_string($_GET['id']).'');
echo '<h2>Dedicasse n°'.$_GET['id'].' supprimer</h2><br/>';
}else{
echo 'Id inconnu';
}
}
}
}
?>
Voici la liste des dedicasse poster:
<table border="1" width="900">
<tr>
<th>Pseudo</th>
<th>Message</th>
<th>Ip</th>
<th>Date</th>
<th>Supprimer</th>
</tr>
<?php
/*on selectionne les donner des dedicasse dans l'ordre des id*/
$retour_dedi_admin = mysql_query('SELECT * FROM dedicasse ORDER BY id')or die(mysql_error("Impossible de selectionner les données dans la tables <b>'dedicasse'</b> "));
/*petite boucle pour tt afficher*/
while($donnes_dedi_admin = mysql_fetch_array($retour_dedi_admin)){

/*variables pour les dedicasse+secu */
$pseudo_dedicasse = htmlspecialchars($donnes_dedi_admin['pseudo']);
$message_dedicasse = htmlspecialchars($donnes_dedi_admin['message']);
$date_dedicasse = $donnes_dedi_admin['date'];
$ip_dedicasse = $donnes_dedi_admin['ip'];
$id_dedicasse = $donnes_dedi_admin['id'];
?>
<tr>
<td><?php echo $pseudo_dedicasse; ?></td>
<td><?php echo $message_dedicasse; ?></td>
<td><?php echo $ip_dedicasse; ?></td>
<td><?php echo $date_dedicasse; ?></td>
<td><a href="admin.php?page=supprimer&id=<?php echo $id_dedicasse; ?>">Supprimer</a></td>
</tr>
<?php
}
?>
</table>
<?php
/*la session existe pas on lui refuse l'accée au page on affiche le formulaire de connexion */
}else{


if(isset($_POST['connexion'])){
if(isset($_POST['pseudo_adm']) && $_POST['pseudo_adm'] != null){ /*si le pseudo est different de null (ou vide) alors on continue le script*/
if(isset($_POST['mdp_adm']) && $_POST['mdp_adm'] != null){ /*si le mot de passe est different de null (ou vide) alors on continue le script*/

/*variables de pseudo poster */
$pseudo_poster = $_POST['pseudo_adm'];
$mdp_poster = $_POST['mdp_adm'];

if($pseudo_poster == $pseudo_admin){ /*si le pseudo poster est le même que le pseudo dans config.php alors on continue le script*/
if($mdp_poster == $mot_de_passe_admin){ /*si le mot de passe poster est le même que le mot de passe dans config.php alors on continue le script*/

/*tout est bon, on connecte le membre :) */
$_SESSION['connecter'] = true;
$_SESSION['pseudo'] = $pseudo_admin;
?>
<script type="text/javascript" language="javascript">
document.location.href="admin.php";
</script>
<?php }else{ /*le mot de passe renseigner est inccorect */
echo '<div id="erreur">Mot de passe incorect</div>';
}
}else{ /*le pseudo renseigner est inccorect */
echo '<div id="erreur">Pseudo inexistant</div>';
}
}else{ /*le mot de passe est vide */
echo '<div id="erreur">Veuillez indiquer votre mot de passe</div>';
}
}else{ /*le pseudo est vide */
echo '<div id="erreur">Veuillez indiquer votre pseudo</div>';
}
}
?>
Partit reserver a l'administration.
<form method="post" action="admin.php">
<b>Pseudo :</b><input type="text" name="pseudo_adm" /><br/>
<b>Mot de passe :</b><input type="password" name="mdp_adm" /><br/>
<input type="submit" name="connexion" value="Se connecter"/>
</form>
<?php
}
?>
</body>
</html>

C'est simple, On commence par se logguez d'abord sur le page d'acceuil de l'administration si c'est juste vous allez sur la prochaine page si c'est faux vous avez un carré rouge, après vous voilà avec vos dédicasse que vous avez posté :) mais il nous reste un truc encore :) le sql encore que je le posterait pas ici mais dans le fichez joint qui se trouve en bas.

J’espère que sa va vous plaire et j'envisage de refaire un autre truc avec un truc plus perfectionnée je peut prendre les idée et les faire merci.

Lien vers le commentaire
Partager sur d’autres sites

  • Super-modérateurs
/*on verifie si le formulairz a était envoyer */

Copie ou pas ! Un script commenté comme ça (avec les mêmes fautes sur les 2 sites) moi je me méfierais...

Piqure de rappel : Sur Radios-fr, le français est de rigueur. Kilian, ceci sera mon seul avertissement avant que tu ne perdes tes droits d'écriture pour 15 jours.

Sam

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

Copie ou pas ! Un script commenté comme ça (avec les mêmes fautes sur les 2 sites) moi je me méfierais...

Piqure de rappel : Sur Radios-fr, le français est de rigueur. Kilian, ceci sera mon seul avertissement avant que tu ne perdes tes droits d'écriture pour 15 jours.

Sam

Il faut plutôt apprécier le travail des gens qui prennent le temps de mettre des choses à la disposition des membres du forum plutôt que essayer de les casser ou faire peur aux gens qui veulent les utiliser. Merci pour votre indulgence à l'égard des actifs du forum. Ça incite au partage.

Lien vers le commentaire
Partager sur d’autres sites

Il faut plutôt apprécier le travail des gens qui prennent le temps de mettre des choses à la disposition des membres du forum plutôt que essayer de les casser ou faire peur aux gens qui veulent les utiliser. Merci pour votre indulgence à l'égard des actifs du forum. Ça incite au partage.

Il y a des règles, et actif ou pas actif, il faut les respecter.

Ici, on parle français, on ne parle ni SMS, ni MSN, ni rien, c'est juste pour la lisibilité du forum, et aussi pour la crédibilité du membre.

Lien vers le commentaire
Partager sur d’autres sites

  • 7 months later...
  • 3 weeks later...

Oui, Calme toi mdr Donc, pour les personnes qui ne savent pas faire, Crées une table Dédicasse et dedans méttez ID, PSEUDO, MESSAGE, DATE, IP

ID = INT

PSEUDO = INT

MESSAGE = VARCHAR 255

DATE = INT

IP = INT

C'est pas la peine de venir se plaindre dans un premier message pour un fichier manquant sans les formules de politesse (bonjour, merci d'avance).

Un minimum de politesse et de savoir vivre !

MDR, petit noobi, tu ne sais donc pas que quand on fais un tutoriel on le fini ? LOL

Lien vers le commentaire
Partager sur d’autres sites

Crées une table Dédicasse et dedans méttez ID, PSEUDO, MESSAGE, DATE, IP

ID = INT

PSEUDO = INT

MESSAGE = VARCHAR 255

DATE = INT

IP = INT

merci. Il ne me manquais que le type de table pour que tout marche

Lien vers le commentaire
Partager sur d’autres sites

  • 2 months later...

On vois réellement que tu n'a rien fait.

Tu m'explique pourquoi tu met un INT pour la date, alors que "tu as" fait:

$date = 'le : '.date('d/m/Y').' à '.date('H\hi:s').'';

De plus, tu met un INT pour un pseudo?

Bref, ne parlons pas de ta crédibilité plus longtemps. Car en restant polie, c'est toi le petit noob :)

#ThomasNG: Tu peut m'envoyé ton erreur?

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...
  • 7 months later...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...