<?php session_start(); /*formulaire validable 1 mn*/ $_SESSION['token']=$token=md5(date('mdYHi').$_SERVER['HTTP_HOST'].$_SERVER['REMOTE_ADDR']); $form='<form method="post" action="'.$_SERVER['PHP_SELF'].'"> LOGIN PASSWORD </form>'; if(isset($_GET['deconnect']) && $_GET['deconnect']==='ok' && $_SESSION["auth"]===true){ //session_start(); session_unset(); session_destroy(); header('Location: ?msg=2');exit; }else{ } if(isset($_POST['login']) && !empty($_POST['login']) && isset($_POST['pass']) && !empty($_POST['pass']) && isset($_POST['token']) && $_SESSION['token']===$_POST['token'] && $_SERVER['REQUEST_METHOD']==='POST'){ $_SESSION['essai']++; if($_SESSION['essai']<20){ $base=mysql_connect('localhost','root',''); mysql_select_db('a'); $login=mysql_real_escape_string($_POST["login"]); $pass=mysql_real_escape_string($_POST["pass"]); //$sql="SELECT * from user where nom='".$_POST["login"]."'"; //non /*le premier trouvé et c'est tout et jamais $_POST["login"] direct dans la requete les hacker aime ça ... et filtre avec mysql_real_string_escape toujours */ $sql="SELECT * from projet where nom='".$login."' and paswd='".$pass."' limit 1"; $req=mysql_query($sql); $data=mysql_fetch_array($req); //print_r($data); if($data['paswd'] != $pass || $login != $data['nom']){ $msg='Erreur dans vos identifiants'; $_SESSION['auth']=false; header('Location: ?msg=1');exit; } elseif($data['paswd'] === $pass && $login === $data['nom']){ echo '[?deconnect=ok Se deconnecter] '; $_SESSION['nom']=$data['nom']; echo '<hr>Bonjour'.$_SESSION["prenom"]=$data['prenom']; $_SESSION['auth']=true; } }else{ exit('Trop de tentatives ('.$_SESSION['essai'].') informer le webmaster ...'); } }else{ //formulaire non soumis correct on le reaffiche echo $form; /*gestion des erreurs et controle*/ $msg1='Erreur dans vos identifiants'; $msg2='Vous êtes deconnecter ...'; if(isset($_GET['msg']) && (int)$_GET['msg']===1){ echo $msg1.' '; } else if(isset($_GET['msg']) && (int)$_GET['msg']===2){ echo $msg2.' '; } else{ } } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question<?php /* merci pour votre aide, j'ai un autre probleme sil vous plait. je fais un formulaire comprend(nom,prenom,ville...)qui doit etre rempli par les visiteurs donc je veux recuperer ces donnees dans la base de donnees mais sans les affichees alors je fais deux page une pour les "forms" et lautre pour recuperer les donnees voila le code de la page de recuperation des donnees: lorsque je fais un test par remplir le formulaire je trouve aucune enregistrement dans la base (table formulaire)et un erreur toujours apparait"Column count doesn't match value count at row 1" s'il vous plait aide moi et merci d'avance :) */ //Déclaration des paramétres $mysql_host="localhost"; $mysql_user="root"; $mysql_bdd="user"; $mysql_passwd="";?> <?php // Connexion au serveur mysql $connect = mysql_connect($mysql_host,$mysql_user,$mysql_passwd) or die('Impossible de se connecter : ' . mysql_error()); // sélection de la base de données mysql_select_db($mysql_bdd, $connect); $msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis : "; $msg_ok = "Votre demande a bien été prise en compte."; $message = $msg_erreur; // vérification des champs //if (empty($_POST['f_civilite'])) //$message .= "Votre civilité "; if (empty($_POST['f_nom'])) $message .= "Votre nom "; if (empty($_POST['f_prenom'])) $message .= "Votre prenom "; if (empty($_POST['f_adresse'])) $message .= "Votre adresse "; if (empty($_POST['f_telephone'])) $message .= "Votre telephone "; if (empty($_POST['f_email'])) $message .= "Votre email "; //if (empty($_POST['codepostal'])) //$message .= "Votre code postal "; if (empty($_POST['f_ville'])) $message .= "Votre ville "; if (empty($_POST['message'])) $message .= "Votre message "; // si un champ est vide, on affiche le message d'erreur if (strlen($message) > strlen($msg_erreur)) { echo $message; // sinon c'est ok }else{ /*anti hacker*/ foreach($_POST as $k => $v){ $_POST[$k]=mysql_real_escape_string($v); } extract($_POST); $sql = "INSERT INTO formulaire VALUES ( NULL, '".$f_nom."', '".$f_prenom."', '".$f_telephone."', '".$f_adresse."', '".$f_ville."', '".$f_email."', '".$message."', now() )"; $res = mysql_query($sql); if ($res) { echo $msg_ok; } else { echo mysql_error(); } } ?>