Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SYSTÈME DE NEWS AVEC PLUSIEURS FONCTIONALITÉS


Information sur la source

Catégorie :Divers Niveau : Débutant Date de création : 09/11/2004 Date de mise à jour : 13/11/2004 19:19:44 Vu / téléchargé: 3 996 / 693

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

Description

Ce systeme de news permet d'insérer des news, de les afficher, avec en plus une gestion des admins. Le code réalisé est assez simple, je pense.
N'oubliez pas de créer un dossier "sessions" si vous etes sur free.

J'ai juste un problème sur la vérification pour voir si l'utilisateur s'est bien loggé. J'ai fait un fichier verif.php, mais j'ai quelques problèmes avec. Donc je ne l'ai pas inclus pour protéger les pages, pour que vous puissez utiliser le systeme des maintenant :)

J'ai mis en complément un bouton retour qui peut nuire à la clarté du texte mais ce bouton me semble pratique... Un petit exemple en bas mais téléchargez le zip!

C'est mon premier post alors un peu d'indulgence :)


 

Source

  • <?php
  • session_start();
  • //Fichier de configuration
  • include('config.php');
  • //Si on clique sur OK
  • if(isset($_POST['OK']))
  • {
  • //On se connecte à la bdd
  • mysql_connect($serveur_z,$login_z,$pass_z);
  • mysql_select_db($base_z);
  • //On définie les variables de formulaire
  • $login = $_POST['login'];
  • $pass = $_POST['pass'];
  • //Si les champs login ou pass sont vides,
  • if(empty($login) OR empty($pass))
  • {
  • //On affiche un message d'erreur le fameux bouton retour...
  • echo 'Vous avez oublié de remplir un champ
  • <form name="formulaire">
  • <input type="button" value="retour" onclick="retour()" />
  • </form>
  • <script type="text/javascript">
  • function retour()
  • {
  • history.back();
  • }
  • </script>
  • ';
  • exit();
  • }
  • else
  • {
  • //On séléctionne dans la bdd ou le pass du formulair est égal à celui de la bdd
  • $sql = "SELECT pass and login from admin where pass='$pass' and login='$login'";
  • $req = mysql_query($sql);
  • //On compte le nombre de résultats
  • $nombre = mysql_num_rows($req);
  • //Si le résultat est différent de 1
  • if($nombre!="1")
  • {
  • //On affiche un message d'erreur
  • echo'Mauvais nom d\'utilisateur/mot de passe
  • <form name="formulaire">
  • <input type="button" value="retour" onclick="retour()" />
  • </form>
  • <script type="text/javascript">
  • function retour()
  • {
  • history.back();
  • }
  • </script>
  • ';
  • return;
  • exit();
  • }
  • else
  • {
  • //Sinon on affiche la page avec le menu et on définie la variable de session
  • $_SESSION['login'] = $login;
  • $_SESSION['pass'] = $pass;
  • echo"<link rel=\"stylesheet\" href=\"style.css\"><div align=\"center\"><a href=\"insert.php\">Insérer une news</a><br /><br /><a href=\"admin_ajouter.php\">Ajouter un Admin</a><br /><br /><a href=\"admin_gestion.php\">Gestion des Admins</a><br /><br /><a href=\"../index.php\">Retour au site</a></div>";
  • }
  • }
  • }
  • //Si on a pas encore cliqué sur OK on affiche le formulaire
  • else
  • {
  • ?>
  • <link rel="stylesheet" href="style.css" />
  • <form action="<?php=$PHP_SELF?>" method="POST">
  • <table align="center" border="0">
  • <tr><td class="tds" align="center">Nom d'utilisateur</td>
  • <tr><td class="tds" align="center"><input type="text" name="login" maxlength="50" size="10"></tr></td>
  • </tr>
  • <tr>
  • <td class="tds" align="center">Mot de passe</td>
  • <tr><td class="tds" align="center"><input type="password" name="pass" maxlength="8" size="5"></td></tr>
  • </tr>
  • </table><br />
  • <center><input type="submit" name="OK" value="OK"></center>
  • </form>
  • <?php } ?>
<?php

session_start();

//Fichier de configuration
include('config.php');

//Si on clique sur OK
if(isset($_POST['OK']))
{
	//On se connecte à la bdd
	mysql_connect($serveur_z,$login_z,$pass_z);
	mysql_select_db($base_z);

	//On définie les variables de formulaire
	$login = $_POST['login'];
	$pass = $_POST['pass'];

	//Si les champs login ou pass sont vides,
	if(empty($login) OR empty($pass))
	{
		//On affiche un message d'erreur le fameux bouton retour...

		echo 'Vous avez oublié de remplir un champ
		<form name="formulaire">
  		<input type="button" value="retour" onclick="retour()" />
		</form>
		<script type="text/javascript">
		function retour()
			{
				history.back();
			}
 		</script>
		
		';
		exit();
	}
	
	else
	{
		//On séléctionne dans la bdd ou le pass du formulair est égal à celui de la bdd
		$sql = "SELECT pass and login from admin where pass='$pass' and login='$login'";
		$req = mysql_query($sql);

		//On compte le nombre de résultats
		$nombre = mysql_num_rows($req);

		//Si le résultat est différent de 1
		if($nombre!="1")
		{
			//On affiche un message d'erreur
			echo'Mauvais nom d\'utilisateur/mot de passe
				<form name="formulaire">
  				<input type="button" value="retour" onclick="retour()" />
				</form>
				<script type="text/javascript">
				function retour()
				{
					history.back();
				}
 			 	</script>
			';
			return;
			exit();
		}
		else
		{
			//Sinon on affiche la page avec le menu et on définie la variable de session

			$_SESSION['login'] = $login;
			$_SESSION['pass'] = $pass;

	
		
			echo"<link rel=\"stylesheet\" href=\"style.css\"><div align=\"center\"><a href=\"insert.php\">Insérer une news</a><br /><br /><a href=\"admin_ajouter.php\">Ajouter un Admin</a><br /><br /><a href=\"admin_gestion.php\">Gestion des Admins</a><br /><br /><a href=\"../index.php\">Retour au site</a></div>";
		}
	}
}

//Si on a pas encore cliqué sur OK on affiche le formulaire
else
	{	


?>


<link rel="stylesheet" href="style.css" />
<form action="<?php=$PHP_SELF?>" method="POST">
<table align="center" border="0">
<tr><td class="tds" align="center">Nom d'utilisateur</td>
        <tr><td class="tds" align="center"><input type="text" name="login" maxlength="50" size="10"></tr></td>
</tr>
<tr>
        <td class="tds" align="center">Mot de passe</td>
        <tr><td class="tds" align="center"><input type="password" name="pass" maxlength="8" size="5"></td></tr>
</tr>
</table><br />
<center><input type="submit" name="OK" value="OK"></center>
</form>

<?php } ?>

Conclusion

Vous pouvez voir le résultat ici: http://www.pcroxor.fr.st :)

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

09 novembre 2004 20:27:37 :
J'ai mis à jour pour la coloration. j'ai mis <? au lieu de <?php
09 novembre 2004 20:31:18 :
pfou le fichier zip.... vive les nexbies
13 novembre 2004 19:15:28 :
13 novembre 2004 19:19:44 :
Verification de login ajoutée

Commentaires et avis

signaler à un administrateur
Commentaire de DrK_Worm le 09/11/2004 16:32:22

Premier post, premiere version, la couleur du code en haut a un peu foirée non ?

signaler à un administrateur
Commentaire de Anthomicro le 09/11/2004 18:45:38

Salut :-)

<? : à bannir, <?php est portable sur toutes les configurations.

Même chose pour <?=$PHP_SELF?>, beurk...

a ++

signaler à un administrateur
Commentaire de coucou747 le 11/11/2004 12:02:41

je sais que tu prends soin a chaque fois de le rapeler, mais c'est vrai que plus on fait de choses portables, mieux ce sera pour l'ensemble de la programmation, mais il faut bien avouer que ce qui doit être portable c'est le coté client, le serveur, en général, on s'en moque... Mai je me bats pour la portabilitée sur le forum javascript et C/C++ mais pas vraiment ici, t'as raison de le souligner, mais tu ne seras pas suivit tout de suite, déja que moi j'ai du mal a être suivit quand je dis çq sur les autres forums, sur un forum serveur t'as pas finit... Moi, je fais souvent des trucs portables, toujours en javascript en C pas toujours, mais souvent, mais alors en php jamais, j'utilises régulièrement les fonctions system pour créer un fichier ect... C'est sur, c'est pas bien, mais c'est tellement plus rapide (cat pour cacatener deux fichiers... ect...) enfin voila mes script ont étés difusés ici, mais si qqn les teste sous windows il va être surpris... Faut tout faire en portable, mais faut commencer par les clients... les aplis serveur comme le php, c'ets le rendu qui compte (vitesse ect...) le reste on s'en moque un peu...

signaler à un administrateur
Commentaire de Anthomicro le 11/11/2004 16:21:55

"c'ets le rendu qui compte (vitesse ect...) le reste on s'en moque un peu..."

Change d'hébergeur un jour et tu comprendras :-)

a ++

signaler à un administrateur
Commentaire de coucou747 le 11/11/2004 17:00:44

... je suis hébergé par moi même... c'ets sur que quand on change ça doit faire tout drole...

signaler à un administrateur
Commentaire de Anthomicro le 11/11/2004 17:04:57

C'est clair, surtout pour un site visité, encore le mec qu'à un site perso admettons, sur les photos de son chien bon bah il peut se permettre une indisponibilité le temps de tout recoder, mais quand le site est un minimum visité...

Et puis optimisation et portabilité ce n'est pas tout le temps incompatible.

Par exemple le <? et le <?php ne ralentit pas l'exécution du script.

a ++

signaler à un administrateur
Commentaire de coucou747 le 11/11/2004 17:39:20

je n'ai jamais dis que c'était toujours incompatible, j'ai même dit que c'était mieux quand un prog était portable. Je suis en effet d'accord avec toi. Je dis juste que tu exagères car un petit <? c'est pas bien compliqué à changer...

signaler à un administrateur
Commentaire de cseagle le 11/11/2004 17:55:35

Salut,

J'ai pas tout regardé mais la en register global à off je pense que ca va coincer :

//On définie les variables de formulaire
    $login = $_POST['login'];
    $pass = $_POST['pass'];

Tu devrais tester directement sur $_POST['login'] et $_POST['pass'] et definir $login et $pass après la condition validée.

signaler à un administrateur
Commentaire de Anthomicro le 11/11/2004 17:58:15

"un petit <? c'est pas bien compliqué à changer"...

Le problème est qu'après tu commences comme ça et quand t'as 100 pages à modifier ça prend quand même du temps, surtout si t'as la bonne (sic) idée de mélanger php + html, ce qui fait que tu cherches les balises <? dans tes fichiers...

Bonjour la galère...

signaler à un administrateur
Commentaire de DrK_Worm le 11/11/2004 19:42:00

Sinon quelqu'un peut m'aider pour la verification si le visiteur est loggé ? Essayez chez vous mais chez moi ca ne marche pas...

signaler à un administrateur
Commentaire de cseagle le 11/11/2004 21:38:53

Alors allons y :

1) Tout d'abord comme te l'a dit Anthomicro, tu ouvres toutes tes balises avec <?php

2) Pourquoi nul part j'ai vu d'entêtes HTML ça me parait bizarre....

3) Les accents que tu passes dans tes echo, utilise les codes html (exemple : é devient &eacute; )

4) Pour ta page verif.php

if(!isset($_SESSION['login']) && !isset($_SESSION['pass']))
{
echo"Veuillez vous identifier";
include('login.php');
exit();
}

Et tu l'inclus au début de tes pages avec juste avant session_start();

5) Dans afficher.php met des {} dans le premier if

Voila ce que j'ai vu et mes conseils de jeune débutant ;-)

signaler à un administrateur
Commentaire de DrK_Worm le 13/11/2004 18:21:12

Je n'ai pas mis d'entetes html comme <html>,<body> etc... pour vous permettre d'utiliser les pseudos-frames (je les utilise moi meme) et ne pas avoir plusieurs erreurs a cause de plusieurs <body> dans le texte par ex.

Je vais essayer ce que tu m'a dis au sujet de verif.php et je remettrai à jour ce script ;-)

signaler à un administrateur
Commentaire de Marshall_Mathers le 21/07/2005 21:47:23

J'ai trouvé quelques erreurs mais je trouve le code correct !

Bravo...

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.