webForumDet fria alternativet

hämta user/pw från mysql

PHP

5 svar · 373 visningar · startad av sibben11

Medlem sedan maj 200214 inlägg
Frågan#1

Hej

Har lagt nedanstående kod först i php-scriptet så att man är tvungen att logga in.
Som ni ser så gäller ju endast ett användarnamn och ett lösenord.
Nu är det så att jag har en MySQL-databas med kolumnerna user och password.

Där har jag ett antal entries som jag skulle vilja använda i koden nedan. Alltså så att den går och kollar i databasen först, kollar alla användar och lösenord och sedan jämnför det man skriver i input-fältet med det som står i databasen.

Hur ser koden ut för att hämta användare och lösenord för att sedan logga in med dessa?

Tackar för hjälpen!

Koden är en vanlig PHP_AUTH_USER:

<?php
if ((!isset($PHP_AUTH_USER)) || !(($PHP_AUTH_USER == "användare") && ($PHP_AUTH_PW == "lösenordet")))
{
header("WWW-Authenticate: Basic entrer=\"Form2txt admin\"");
header("HTTP/1.0 401 Unauthorized");
echo "Felaktigt inloggningsförsök...";
exit;
}
#echo "inloggad";
header("Location: http://destinations-sidan.php");
?>

Medlem sedan juni 20006 031 inlägg
#2
// Inloggning  (antar att du kommer från ett formulär)

if (isset($_POST['Submit'])){ 
  
$pass = md5($_POST['losen']);

  $sql = "SELECT id FROM admin WHERE namn='{$_POST['namn']}' AND losen='$pass'"; 
  $result = mysql_query($sql); 
  
  // 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; 
  } 
  // Du ska väl använda sessions?
  // Sätt sessionen med unikt index 
  $_SESSION['sess_id'] = mysql_result($result, 0); 
  $_SESSION['sess_user'] = $_POST['namn'];
  $_SESSION['sess_status'] = 'admin';
  header("Location: destinations-sidan.php"); 
  exit; 
}

Något sånt här borde du nog använda.

sen kollar du på dom andra sidorna att session är satt.

Medlem sedan maj 200214 inlägg
#3

Direkt till denna sida

Hej

Jag pekar en länk direkt till sidan som ENDAST innehåller koden som jag skrev.

När de klickar på länken så kommer det upp ett "Internet Explorer-inloggnings fönster" där de knappar in användare och lösenord. Så de kan knappa in remember password rutan om de vill.

Koden jag skrev är sedan inkluderad på de andra sidorna så att inloggningen dyker upp om man inte har loggat in även om man känner till hela sökvägen.

Går det att skriva nån select-sats som hämtar användare och lösenord från databasen och sedan kollar om lösenordet hör till användarnamnet man har angivit?
Tex. om användarnamn och lösenord hör ihop blir resultatet 1 och hör de inte ihop så blir resultatet 0. Beroende på 1 eller 0 så kommer man in...

Som ni fattar så är jag lite ny på detta..

tackar...

Medlem sedan nov. 2000857 inlägg
#4

Kolla Peddas kod en gång till, den gör precis det du vill göra..

Medlem sedan maj 20012 237 inlägg
#5

glöm inte att köra addslashes på de värden som du får ut från $_POST. Annars finns det en risk för sql injection

Medlem sedan maj 200214 inlägg
#6

Kolla session?

Hej

Tackar för all hjälp så lång.

Har nu en följdfråga:

Vad lägger jag in för kod längst upp på respektive undersida för att få bli directad till inloggnings-formuläret om en session inte är upprättad och i annat fall visa sidans innehåll?

Tackar på förhand

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)