webForumDet fria alternativet

Kontrollera att rätt information skrivs.

PHPur PHP

2 svar · 215 visningar · startad av FunTrix

Medlem sedan okt. 2003118 inlägg
Frågan#1

tänkte göra en fortsättning på min förra tråd om glömt lösenord, men denna ska istället handla om att kontrollera att man skriver in rätt lösenord på gamla lösenordet så att man får byta till det nya...
jag antar att ni förstår vad jag menar, dessa rutor är väldigt vanliga på webben, men dock finns det väldigt lite information om hur man ska göra sådanna vilket är väldigt synd tycker jag.
Det kan visserligen vara för att alla tycker att det är så väldigt lätt och att jag inte har fatta enkelheten i det :O
alltså ett script som kontrollerar att man fyllt i rätt gamla lösenort samt att man fyllt i ett nytt lösenord.

Medlem sedan mars 2003429 inlägg
#2

Hur gör du för att kontrollera att dom skriver in rätt lösenord när dom loggar in?
En liten tanke är ju att kontrollera lösenordet på samma sätt ;-)

Om vi säger att du skapat ett formulär med 3 fält, 1 för det gammla och 2 för det nya skulle det kunna se ut ngt som detta:

// kontrolleraLoesenord($UserName, $_POST["OldPassword"]); Din funktion som kollar om man använder rätt lösenord (return true/false)
if(kontrolleraLoesenord($UserName, $_POST["OldPassword"]) AND strlen($_POST["newPassword1"]) >= 5 AND $_POST["newPassword1"] == $_POST["newPassword2"]) 
     updatePassword($UserName, $_POST["newPassword1"]); // Din funktion som uppdaterar lösenordet

Jahopp då var väl det klart då, hoppas du hängde med där :)

Mvh

Medlem sedan okt. 2003118 inlägg
#3

valde att skicka med min kod här:
jag använder epost som användarnamn samt pass som lösenord, nu med detta lösenordsbytarscript behöver jag då lägga till fler pass rader i min tabell?

<?php 
session_start(); // Alltid överst på sidan 
 
include "conn.php"; // Databasanslutningen 
 
// Inloggning 
if (isset($_POST['submit'])){

  // Krypteringsfunktion för inloggningen
  $passwd = ($_POST['passwd']);
  $pass = md5($passwd); 

 $sql = "SELECT id FROM npmedlemmar
         WHERE epost='{$_POST['epost']}'
         AND pass='$pass'";
  $result = mysql_query($sql) or die("sql: $sql<br/>".mysql_error());
  
  // Hittades inte användarnamn och lösenord 
  // skicka till formulär med felmeddelande 
  if (mysql_num_rows($result) == 0){
  header("Location: index.php?badlogin="); 
    exit; 
  } 
  
  // Sätt sessionen med unikt index 
  $_SESSION['sess_id'] = mysql_result($result, 0, 'id'); 
  $_SESSION['sess_user'] = $_POST['epost']; 
  header("Location: now.php"); 
  exit; 
} 
 
// Utloggning 
if (isset($_GET['logout'])){ 
  session_unset(); 
  session_destroy(); 
  header("Location: index.php"); 
  exit; 
} 
?>

              <?php

// Om inte inloggad visa formul&auml;r, annars logga ut-l&auml;nk 
if (!isset($_SESSION['sess_user'])){

   // Visa felmeddelande vid felaktig inloggning 
   if (isset($_GET['badlogin'])){
      echo "Fel anv&auml;ndarnamn eller l&ouml;senord!<br>\n";
      echo "F&ouml;rs&ouml;k igen!\n";
   }

?>
128 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)