Gå til innhold

Login script via MySQL. Btw emne startet på nytt!


Anbefalte innlegg

EDIT: Login scriptet SKAL være via MySQL, har et table som heter "registrerte" der.

 

Det er jeg på jakt etter er som sagt, et login script via mitt table på phpMyAdmin kalt registrerte. Det skal også være sånn at personen som logger seg på, skal bli husket via cookies eller noe sånt. Håper jeg får noen brilliante svar :D

Endret av Andy-Pandy
Lenke til kommentar
Videoannonse
Annonse
Hvordan kan man lage et login script, ved hjelp av PHP (har mulighet til MySQL hvis nødvendig). Har akkurat skjønt det så vidt.

Så, noen som har noen koder for det?

7568614[/snapback]

 

 

Ett veldig enkelt et her ikke MySQL,

 

login.php

<form action="side2.php" method="post">
<input type="text" name="id" value="Brukernavn"><br>
<input type="password" name="pw" value="passord"><br>
<input type="submit" value="Logg inn">
</form>

 

side2.php

<?php
$id = "brukernavn"; // endre brukernavn der
$pw = "passord"; // endre passord der

if ($_POST["id"] !== "$id")
echo "Feil brukernavn eller passord";
elseif ($_POST["pw"] !== "$pw")
echo "Feil brukernavn eller passord";
else
{
// passordbeskyttet innhold her
}
?>

 

denne er ikke testet men funker sikkert

Lenke til kommentar

Du kan bruke dette scriptet her som jeg lagde for en stund siden:

 

db_classes.php:

Klikk for å se/fjerne innholdet nedenfor
<?php
class Db
{
// Connect to database
function db_connect()
{
 mysql_connect('localhost', 'username', 'password') or die(mysql_error());
 @mysql_select_db('databasename') or die('Could not connect to the database.');
}

// Close the database connection
function db_close()
{
 mysql_close();
}
}
class User
{
function login($username, $password)
{
 if ( isset($_POST['login'] ) )
 {
 	// Removes whitespace
 	$username = trim($username);
 	
 	// The error variable
 	$error = false;
 	
 	if ( empty($username) ) {
   $error = true;
   echo "You forgot to enter your username.";
 	} elseif ( empty($password) ) {
   $error = true;
   echo "You forgot to enter your password.";
 	} // End if
 	
 	if ( $error == false )
 	{
   $db = new Db;
   $db->db_connect();
   
   // Makes a hash of the password
   $md5_password = md5($password);
   
   // Mysql query
   $sql = "SELECT id FROM table_name WHERE username = '$username' AND password = '$md5_password'";
   $query = mysql_query($sql);
 	
   // Counts number of rows
   $row = mysql_num_rows($query);
 	
   if ( $row == 1 )
   {
   	echo "You were successfully logged in!<br />Click <a href='index2.php'>here</a> or wait...";
   	echo '<meta http-equiv="refresh" content="1;url=nextpage.php">'; 
   	$_SESSION['user'] = $username;
   	$_SESSION['pass'] = $md5_password;
   } else {
   	echo "Wrong username or password.";
   } // End if
   
   $db->db_close();
 	
 	} // End if
 } // End if
} // End function
} // End class
?>

 

db_classes.php er altså funksjonene til loginscriptet. På loginsiden kan du bruke denne:

 

Klikk for å se/fjerne innholdet nedenfor
<?php
session_start();
ob_start();

// Include classes
include 'db_classes.php';
?>

Koden til en del av designet ditt

<?php if ( !isset($_POST['login']) ) { ?>

Logg inn skjemaet!

<?php
} else {
$user = new User;
$user->login($_POST['username'], $_POST['password']);
}
?>

Resten av designkodene

 

Så kan du bruke MySQL-kodene som står på linken til Rasks:

 

Klikk for å se/fjerne innholdet nedenfor
CREATE TABLE table_name (id MEDIUMINT NOT NULL AUTO_INCREMENT PRIMARY KEY, username VARCHAR(60), password VARCHAR(60));

Endret av kjey
Lenke til kommentar

Du kan også ha flere brukere uten å benytte deg av MySQL databaser.

 

Dette er en grei måte:

 


$brukerid=$_POST['brukernavn'];
$passordid=$_POST['passord'];

$bruker['bruker1'] = 'traalala2c00';
$bruker['bruker2'] = 'trudlilililu04sx';
$bruker['bruker3'] = 'trudlilalala04sx';


if ($bruker[$brukerid] == $passordid) {
echo "Riktig brukernavn og passord!";
}
else {
echo "Ugyldige innloggingsverdier.";
}


Lenke til kommentar

<form method="post" action="">
 <table width="364" border="0">
   <tr>
     <td width="101">Brukernavn:</td>
     <td width="247"><input name="brukernavn" type="text" size="30"></td>
   </tr>
   <tr>
     <td>Passord:</td>
     <td><input name="passord" type="password" size="30"></td>
   </tr>
   <tr>
     <td></td>
     <td><input  type="submit" name="login" value="Login"></td>
   </tr>
 </table>
</form>

 

Husk foresten en

 

$knapp=$_POST['login'];

if (isset($knapp)) {
PHP her
}
else {
FORM HER
}

Endret av erixz
Lenke til kommentar

Jeg synes ikke det er så veldig lærerikt å gi ut kodene for et script.. her er en forklaring på hvordan du kan gjøre det

 

Fil 1 - logginn_skjema.php

her legger du såklart ditt skjema, i form action har du logginn.php

 

Fil 2 - logginn.php

 

Først må du koble deg opp mot mysql, dette er relativt lett

mysql_connect()

mysql_select_db()

 

Så må du sjekke om brukere navn og passord er rett.. Da bruker du først et query

mysql_query

i dette tilfellet, WHERE brukernavn={$brukernavn} AND passord={$passord}

 

For å være sikker på at du ikke logger inn flere, bruk count, det er mange måter å gjøre dette på, men jeg anbefaler at du bruker SELECT COUNT(*)

 

bruk mysql_fetch_assoc() for å hente resultat..

 

Om resultatet ditt blir 1 så er alt ok... altså ->

if($resultat == 1) {

// SETT COOKIES

}

else {

// VIS LOGG INN SKJEMA

}

 

Å sette cookies er noe flere har problemer med, men det er gangske lett..

 

setcookie(NAVN, VERDI)

 

evnt. med tidsfrist

setcookie(NAVN, VERDI, time()+120) <- 120 = 2 minutter.. vi bruker sekunder her...

 

Håper dette hjelper :D

Endret av MrNeeon
Lenke til kommentar
Ok, takk. Skal prøve det når jeg får tid. Prøver meg på en slags gjestebok/legg til kommentarer/forum for tida. Tar tid ^^

7593389[/snapback]

 

Lær deg basic før du hopper ut i noe stort.. det har bestandig mamma lært meg! :)

 

Gjestebok og kommentarer ligger også under database håntering..

Her er side du kan sjekke ut

http://www.php-mysql-tutorial.com/mysql-tutorial/index.php

 

En annen ting, for å hente ut fra mysql, f.eks alle rader i gjestebok tabellen..

 

$query = "SELECT * FROM tabell ORDER BY dato";
$run     = mysql_query($query);

 while($i = mysql_fetch_array($run)) {

 print $i['navn']."<br />".$i['innlegg']."<hr />";
}

 

Der gikk jeg imot meg selv med å gi deg en gratis kode.. men men, det er jo jul

Endret av MrNeeon
Lenke til kommentar
Ok, takk. Skal prøve det når jeg får tid. Prøver meg på en slags gjestebok/legg til kommentarer/forum for tida. Tar tid ^^

7593389[/snapback]

 

Lær deg basic før du hopper ut i noe stort.. det har bestandig mamma lært meg! :)

 

Gjestebok og kommentarer ligger også under database håntering..

Her er side du kan sjekke ut

http://www.php-mysql-tutorial.com/mysql-tutorial/index.php

 

En annen ting, for å hente ut fra mysql, f.eks alle rader i gjestebok tabellen..

 

$query = "SELECT * FROM tabell ORDER BY dato";
$run     = mysql_query($query);

 while($i = mysql_fetch_array($run)) {

 print $i['navn']."<br />".$i['innlegg']."<hr />";
}

 

Der gikk jeg imot meg selv med å gi deg en gratis kode.. men men, det er jo jul

7595700[/snapback]

 

Takk, ser ut som at det er noe jeg kan få bruk for på den tutorialen :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...