constuction fonction utilisant la session en cours

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : constuction fonction utilisant la session en cours

par consequences » 06 mai 2009, 08:28

C'est bon et merci a tous quand meme j'ai reussit a solutionner le probleme en fait voila le resultat
qui fonctionne


LA PAGE DE LA FONCTION :
<?php

function petit_intru(){

mysql_connect("localhost", "root", "") or die("connect deconne");												
mysql_select_db("intranet_pour_commerciaux_vdi") or die("select deconne") ;


//--------------------------------------------------------------------------------------- Recupereation et mise sous variable de mes variable de session ----------------------------------------------------------------------------------------//
$users_login_session=$_SESSION['users_login'];
$users_password_session=$_SESSION['users_password'];
$users_id_session=$_SESSION['users_id'];


//------------------------------------------------------------------ Requete pour recupere le "users_keyway" quand "users_login égal a la variable issue de ma session --------------------------------------------------------------//
$ma_req_users_keyway=mysql_query("SELECT users_login, users_keyway FROM users WHERE users_login='".$users_login_session."'");
$row_ma_req_users_keyway=mysql_fetch_array($ma_req_users_keyway);
$mot_de_passe_taper=$users_password_session.$row_ma_req_users_keyway['users_keyway'];
//--------------------------------------------------------------------- Requete pour verifie que "useres_login" concorde bien avec le mot de passe en base de donnée ----------------------------------------------------------------//
$mareq=mysql_query("SELECT users_id, users_login, users_password, users_level, users_keyway FROM users WHERE users_login='".$users_login_session."' AND users_password=md5('".$mot_de_passe_taper."')");	
$row=mysql_num_rows($mareq) ;																				
$rowmem=mysql_fetch_array($mareq);


		//************************************************************* si admin connecte ********************************************************************//
if (($row==1) && ($_SESSION['users_level']==1)) {
//echo("yeahhhhhhh");
$connectionOkay = 1;
		return($connectionOkay);
		

		
		
		//************************************************************** Si intrusion ************************************************************************//
}else{
//echo ("nooooooooooooo");
$connectionOkay = 0;
		return($connectionOkay);
		
}
		


mysql_close();
}

?>
BOUT DE CODE DE LA PAGE QUI L'APPELLE :


require('fonctionAdminSecurite.php');
$connectionOkay = petit_intru();
//echo ($connectionOkay);

if ($connectionOkay==1){

}elseif($connectionOkay==0){
//echo ($connectionOkay);
			$index.="\t\t\t<table border=\"0\" align=\"center\">\n";
				$index.="\t\t\t\t<tr><td> Petit malin comment es tu arrivé la ?! </td></tr>\n";
			$index.="\t\t\t</table>\n";
}
En fait il me manquait : $connectionOkay = petit_intru(); moi javais mis juste petit_intru()

par AB » 05 mai 2009, 16:36

Ou là j'ai pas regardé ton code en détail mais j'ai bien l'impression que tu te complique la vie.

Le principe d'une connexion dans un espace membre ici

Les pages sont protégées par une variable de session, dans l'exemple du tuto c'est $_SESSION['login'] et il suffit donc de faire :
session_start(); 
if(!isset($_SESSION['login'])) {die('Vous devez être enregistré pour accéder à cette partie du site');} 
Dans die('...') tu peux mettre ce que tu veux, y compris un lien vers le formulaire de connexion.

par consequences » 05 mai 2009, 16:24

En fait avec ma methode d'encodage dans laquelle je concatene tout le code du site dans la variables
index.=""; et avec ma drole de methode dinclude je n tulise qu'un seul echo(); pour tout le site en bas
de ma page index donc oui jutilise l'echo ;)

par damaskinos » 05 mai 2009, 16:16

Salut,

Est-ce que tu fais un echo de $index quelque part ???

par consequences » 05 mai 2009, 16:10

Merci grace a toi jai reussit a faire ceci (donc ma fonction) mais... lire ne dessous du code
<?php

function petit_intru(){
mysql_connect("localhost", "root", "") or die("connect deconne");												
mysql_select_db("intranet_pour_commerciaux_vdi") or die("select deconne") ;


//--------------------------------------------------------------------------------------- Recupereation et mise sous variable de mes variable de session ----------------------------------------------------------------------------------------//
$users_login_session=$_SESSION['users_login'];
$users_password_session=$_SESSION['users_password'];
$users_id_session=$_SESSION['users_id'];


//------------------------------------------------------------------ Requete pour recupere le "users_keyway" quand "users_login égal a la variable issue de ma session --------------------------------------------------------------//
$ma_req_users_keyway=mysql_query("SELECT users_login, users_keyway FROM users WHERE users_login='".$users_login_session."'");
$row_ma_req_users_keyway=mysql_fetch_array($ma_req_users_keyway);
$mot_de_passe_taper=$users_password_session.$row_ma_req_users_keyway['users_keyway'];
//--------------------------------------------------------------------- Requete pour verifie que "useres_login" concorde bien avec le mot de passe en base de donnée ----------------------------------------------------------------//
$mareq=mysql_query("SELECT users_id, users_login, users_password, users_level, users_keyway FROM users WHERE users_login='".$users_login_session."' AND users_password=md5('".$mot_de_passe_taper."')");	
$row=mysql_num_rows($mareq) ;																				
$rowmem=mysql_fetch_array($mareq);
		//************************************************************* si admin connecte ********************************************************************//
if ($row==1 and $_SESSION['users_level']==1) {

//ici se trouvera un formulaire pour inscrire de nouveau admin
echo("yeaaaaah");
$connectionOkay = 1;
return($connectionOkay);

		//************************************************************** Si intrusion ************************************************************************//
}else{

echo ("nooooooooooooo");
$connectionOkay=0;
return($connectionOkay);


			}

mysql_close();
}
?>


Mais le souci ce que sur ma page inscrireNewAdmin il affiche dans tout les cas ma table creer admin
et pas le message dans le sinon. Mes echo() m'ont permis de voir quil rentrait bien dans les conditions.
quand suis logué sur la page ca me met yeahhhhh et quand usis pas logué nooooo mais impossible de recuperer la valeur $connectionOkay sur lautre page voila un bout de code de lautre page celle qui apelle la fonction
require('fonctionAdminSecurite.php');
petit_intru();
echo ($connectionOkay);

if ($connectionOkay==1){

//La une table avec textebox .....

}elseif($connectionOkay==0){
echo ($connectionOkay);
			$index.="\t\t\t<table border=\"0\" align=\"center\">\n";
				$index.="\t\t\t\t<tr><td> Petit malin comment es tu arrivé la ?! </td></tr>\n";
			$index.="\t\t\t</table>\n";
}
la probleme c'est quil part toujours sur le "elseif" et que mes echo() de $connectionOkay ne renvoi rien du tout

par Laharl Faust » 05 mai 2009, 15:24

Je ne peux t'aidé pour l'instant car sa fait trop longtemps que je n'ai plus fait de fonctions mais je peux te donner ce lien qui t'expliquera super bien et rapidement comment faire une fonction

http://www.siteduzero.com/tutoriel-3-14 ... #ss_part_1

J'éspère que sa t'aideras :wink:
Bon courage

constuction fonction utilisant la session en cours

par consequences » 05 mai 2009, 15:05

bonjour,

Voila mon petit probleme du jour. je souhaiterais creer une fonction en php avec le code sité si
dessous.
Cette fonction aurait pour but de detecter si un utilisateur non connecter essayer d'entrer dans
la partie admin et de lui afficher un petit message. sinon si cest un admin connecté de afficher
la page normal.
Biensur je n'ai jamais fait de fonction donc je sais ni par quoi commencer ni comment faire.
<?php
mysql_connect("localhost", "root", "") or die("connect deconne");												
mysql_select_db("intranet_pour_commerciaux_vdi") or die("select deconne") ;


//--------------------------------------------------------------------------------------- Recupereation et mise sous variable de mes variable de session ----------------------------------------------------------------------------------------//
$users_login_session=$_SESSION['users_login'];
$users_password_session=$_SESSION['users_password'];
$users_id_session=$_SESSION['users_id'];


//------------------------------------------------------------------ Requete pour recupere le "users_keyway" quand "users_login égal a la variable issue de ma session --------------------------------------------------------------//
$ma_req_users_keyway=mysql_query("SELECT users_login, users_keyway FROM users WHERE users_login='".$users_login_session."'");
$row_ma_req_users_keyway=mysql_fetch_array($ma_req_users_keyway);
$mot_de_passe_taper=$users_password_session.$row_ma_req_users_keyway['users_keyway'];
//--------------------------------------------------------------------- Requete pour verifie que "useres_login" concorde bien avec le mot de passe en base de donnée ----------------------------------------------------------------//
$mareq=mysql_query("SELECT users_id, users_login, users_password, users_level, users_keyway FROM users WHERE users_login='".$users_login_session."' AND users_password=md5('".$mot_de_passe_taper."')");	
$row=mysql_num_rows($mareq) ;																				
$rowmem=mysql_fetch_array($mareq);
		//************************************************************* si admin connecte ********************************************************************//
if ($row==1 and $_SESSION['users_level']==1) {

//ici genre un formulaire d'inscription d'un nouvelle admin


		//************************************************************** Si intrusion ************************************************************************//
}else{
			$index.="\t\t\t<table border=\"0\" align=\"center\">\n";
				$index.="\t\t\t\t<tr><td> Petit malin comment es tu arrivé la ?! </td></tr>\n";
			$index.="\t\t\t</table>\n";
}
mysql_close();
?>

Je precise que se morceau de code fonctionne, Mais que le probleme c'est que c'est pas tres cool
de le copier sur toutes les pages admin.

Plus simple de faire un require d'une fonction qui serait dans page AdminSecurity.php