Script login in PHP

Dario23

Utente Attivo
16 Feb 2009
32
0
0
Salve a tutti,premetto che sto cominciando a masticare un po di php,mi sta piacendo sempre piu',cosi' cerco di passarmi il tempo! :fonzie:

Quindi veniamo al mio "problema"!

Ho uno script per il login che racchiude 4 file : login register logout e il foglio di stile piu la una cartella ch contine il file x la conessione al database.

Ora io in pratica devo mettere nella home il form per loggare gli utenti e non ho chiaro come fare,da ignorante in materia ho fatto varie prove,tra cui quell di stampare a video una variabile il cui contenuto era semplicemente il codice della pagina login,dello script.Si lo so non centra una mazza :confused: , io riesco a seguire il percorso solo mentalmente,ma non ho le competenze materiale per farlo,ora io kiedo il vostro aiuto,non vi kedo di dirmi esattamente come si fa e darmi subito il codice bello e pronto,vorre ke mi faceste prneder la buona strada per fare in modo che io capisca e sia in grado di farlo.

Ringrazio di cuore tutti quelli che mi aiuteranno se ne avranno voglia!! :beer: :beer:

P.S- se vi serve parte di codice dello script in particolare chiedetemi cosa eprovvederò subito a mostrarlo a tutti!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se non ho capito male tu vuoi che dalla home l'utente inserisca un suo username e/o passwor e se esistono accedere alle altre pagine del sito o a una sezione riservata?

se è così nella home devi mettere il form che punta ad una pagina php (es. <form ....action="accedi.php" action="post"....>...</form>)
nella pagina accedi.php
1. leggi i valori provenienti dal form con $_POST['xyz'];
2. verifichi nel db che l'username e/o la password esistano (e coincidano)
3. if esistono rimandi alla pagine riservate
4. if non esistono rimandi alla home o ad una pagina in cui uno possa eventualmente registrarsi

se hai bisogna d'altro siamo qui
 

Dario23

Utente Attivo
16 Feb 2009
32
0
0
Ciao

Ciao Borgo,inanzitutto ti ringrazio per la tua risposta il tuo interessamento e il tuo aiuto.Allora hai capito in pieno quello che intendo.

Quindi io nella pagina login dello script o tirato fuori questa stringa:
PHP:
<body>
<form ACTION="<?php echo $loginFormAction; ?>" id="form1" name="form1" method="POST">

La variabile "loginFormAction" è conenuta sempre nella pagina login dello script,insieme agli if ch determinano il successo e quindi il redirect:

PHP:
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['username'])) {
  $loginUsername=$_POST['username'];
  $password=md5($_POST['password']);
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "../index.php";
  $MM_redirectLoginFailed = "login.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_modulatemedia, $modulatemedia);
  
  $LoginRS__query=sprintf("SELECT username, password FROM users WHERE username=%s AND password=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
   
  $LoginRS = mysql_query($LoginRS__query, $modulatemedia) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;	      

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>

Per darvi una mano vi presento la pagina Login.php


PHP:
<?php require_once('Connections/modulatemedia.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['username'])) {
  $loginUsername=$_POST['username'];
  $password=md5($_POST['password']);
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "../index.php";
  $MM_redirectLoginFailed = "login.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_modulatemedia, $modulatemedia);
  
  $LoginRS__query=sprintf("SELECT username, password FROM users WHERE username=%s AND password=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
   
  $LoginRS = mysql_query($LoginRS__query, $modulatemedia) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;	      

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style2 {font-size: 10px}
.style3 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }
.style4 {font-family: Verdana, Arial, Helvetica, sans-serif}
.style5 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; }
-->
</style>
<script type="text/javascript">
<!--
function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }
//-->
</script>

<link rel="stylesheet" type="text/css" href="style.css" />
<style type="text/css">
<!--
.style6 {font-size: 9px}
-->
</style>
</head>

<body>
<form ACTION="<?php echo $loginFormAction; ?>" id="form1" name="form1" method="POST">
  <label></label>
  <table width="241" border="0" align="center">
    <tr>
      <td colspan="2"><h2 class="style4">Login</h2></td>
    </tr>
    <tr>
      <td width="79"><span class="style3"><strong>
        
      </strong>        
        
      </span>        <span class="style2">
     
      </span>      <div align="right" class="style3"><strong>Username:</strong></div>      </td>
      <td width="152"><input name="username" type="text" id="username" tabindex="1" maxlength="20" /></td>
    </tr>
    <tr>
      <td><span class="style3"><strong>
       
      </strong>        
        
      </span>        <span class="style2">
      
      </span>     <div align="right" class="style3"><strong>Password:</strong></div>      </td>
      <td><input name="password" type="password" id="password" tabindex="2" maxlength="20" /></td>
    </tr>

    <tr>
      <td>&nbsp;</td>
      <td><input name="submit" type="submit" id="submit" tabindex="4" onclick="MM_validateForm('username','','R');MM_validateForm('password','','R');MM_validateForm('email','','RisEmail');return document.MM_returnValue" value="Login" /></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><span class="style4"><a href="register.php" class="style5">register</a><span class="style6"> | <a href="mailto:[email protected]">forgot passwprd?</a></span></span></td>
    </tr>
  </table>
  
</form>
</body>
</html>

Ecco ora come dovrei agire?

Grazie ancora :beer: :fonzie:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
premetto che, almeno per me, non è molto semplice capire gli script preconfezionati fatti da altri, comunque se non ho capito male (e lo script funzia) devi far accedere l'utente che vuole entrare alla pagina Login.php ove inserirà il richiesto.
se tutto ok accederà alle pag riservate. per fare questo penso chedovresti modificare la riga

PHP:
$MM_redirectLoginSuccess = "../index.php";

al posto di index.php devi mettere il nome della prima tua pagina riservata

comunque siamo qui se hai altri dubbi
 

Dario23

Utente Attivo
16 Feb 2009
32
0
0
grazie

grazie ancora,quindi tu mi stai dicendo che il form lo devo inviare a login.php

cosi?

PHP:
<body> 
<form ACTION="login.php" id="form1" name="form1" method="POST">

Quindi da quanto sto capendo cosi' facendo invierò i dati alla pagina login.php dove ci sta il "motore" dello script.

Per quanto riguarda il redirect dopo essersi loggati,deve esere impostato su index.php,cosi' essendo loggati si puo' entrare a tutte le sezioni che ne rikiedono l'accesso.

Lo script funziona xfettamente,l'ho provato e lo provo da parekki giorni.

Quindi in teoria dovrei kreare un form che spedisce i dati immessi tramite le caselle username e password,alla pagin login.php?

Grazie ancora borgo italia!! :tifoso:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
no, ma questo è un mio parere
la pagina index.php usualmente è la home page, e il browser alla richiest www.ecc cerca usualmente la pagina index (nell'ordine html, htm, php, asp) quindi (secondo me) nella prima pagina (index) devi mettere non il form (il form c'è gia nella pag login) ma un link

<a link="login.php"... >per entrare devi loggarti</a>

dalla pagina di login.php devi reindirizzare o di nuovo al login (errata pass) o ad pagina_riservata_mio_sito.php (pass giusta)
 

Dario23

Utente Attivo
16 Feb 2009
32
0
0
Ciao borgo per comodità devo inserire il form anke sulla index oltre a quello del login dovrei mettere anke quell x registrarsi.Perchè è un sito di cndivisione di imagini grafice,votazioni comment etc..e il login serve x uplodare le mmagini nel database che poi saranno visualizzate nella galleria votabili e commentabili,ho messo xfino top10!! :))Ma cmq torniamo al mio problema,quindi dovrei indirizzare il form a login.php??

Ciao grazie ancora:beer:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se inserisci il form sulla index,evidentemente, questo deve puntare alla pagina di login.php.
ma nella pagina di login hai un altro form che quindi si presenta di nuovo la richiesta di loggarsi
tutto sta a vedere dalla pagina di login dove vuoi andare a finire, così come è dalla login (pass e user giusti) ti rimanda alla index dove a quel punto cosa fai?
hanche io ho fatto qualcosa di simile (sarà in linea tra qualche giorno su di un sito), ma dalla pag di login, se user e pass esatte, invio alla pag di uppa_foto.


p.s.
ma un sistema più complicato non sei riuscito a pescarlo?
 

Dario23

Utente Attivo
16 Feb 2009
32
0
0
Ciao

Borgo

Quindi indirizzando il form alla pagina login.php,mettendo username e password nlla index,mi riporterà sempre alla pagina login.php?si anke io avevo fatto cosi',ma ho pensato che sei poi devo mettere un'altra sezione coperta dal login,appena uno effettua il login e vuole andare su x invece andrà su Y.Cpt quello che voglio dirti?

Cmq la cosa principale è che facenco il form in questo modomi riportarà sempre e cmq alla pagina login.php?anke mettendo il user e pssw nel form dell'index?

Bella discussione d esempio da tutti!! :elvis:

P.s. xkè è complicato?io ho trovato questo sistema di login,l'unico ch funzionava bene e ho continuato con questo?Quindi a quanto sto capendo quello che oglio fare io cioé:"Mettere un form nell'index che dia lapossibilità di loggarsi,senza dover andare nella pagina login.php,nn si puo' fare?penso che dipende dallo script ched è troppo complicato o sbaglio?

Cosa potresti consigliarmi per quello che voglio fare?Grazie borgo e ciao
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
io farei così
1) nella index metteri il form (anche quello che hai gia tu visto che contiene gia il js di controllo form)
2) farei puntare il form ad una pagina es loggati.php
3) in loggati.php verificherei user e pass (dal db)
se esistono reindirizzerei alla pagina riservata (mettando user e pass in sessione in modo che uno non sia costretto a riloggarsi)
se non esistono reindirizzerei o alla index o alla pagina registrati
 

Dario23

Utente Attivo
16 Feb 2009
32
0
0
ciao

borgo ottima idea avevo gia pensato questa soluzione,ma precismente nella pagina loggati.php cosa dovrei mettere?Grazie e scusa ma sn alle prime armi,ma sto imparando velocemente,sempre grazie a voi :mavieni:
 

Dario23

Utente Attivo
16 Feb 2009
32
0
0
ciao

borgo ho risolto tutti i problemi,impostando il form su login.php nella index,appena metto username e pass,mi redirecta di nuovo nella index e da li posso accedere,non mi rimanda al form di login.php,ma automatizza tutto e mi logga direttaente all'index,penso che dovrei fre la stessa cosa per la registrazione no?Cmq grazie davvero a tutti ma sopratutto a borgo che mi è stato vicino :beer: :fonzie:

ciaooooo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
grazie ha tutte le caz...e che ho detto
borgo ho risolto tutti i problemi
io nella pagina registrati messo un form con l'ineserimento dei seguenti dati
nik_name o username
indirizzo email
conferma nik
e, nel mio caso, estraggo con sitsema casuale una password di 6 lettere e dico di prenderne nota
l'utente comunque non puo accedere anche se ha user e passw sino alla mia conferma per email, e poi redirigo alla index (nel campo utenti ho messo un flag che solo l'admin può modificare), l'utente può accedere solo se il flag è==1
comunque l'importante è verificare che user e passw siano unici

buon proseguimento

p.s.
tanto siamo sempre qui
 

Dario23

Utente Attivo
16 Feb 2009
32
0
0
Ciao

Si il mio è analogo,cmq ora funziona perfettamente,xfetto sono arrivato al punto,o meglio ci siamo arrivati insieme,ora penso:e poi nn era cosi difficile" hehehe,cmq problema risolto ci rivedremo alla prossima discussione!! Ciao e grazie :fonzie: :tifoso: :elvis:
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Problemi login con lo script php PHP 2
M Script php login con password in scadeza ogni tre mesi PHP 2
F sicurezza script login PHP 3
S problema con ajax semplice login script Javascript 8
A [RISOLTO] Script per il login PHP 8
Virtox Script registrazione/login PHP 3
A Script login con pagina utente PHP 9
S script login con funzione "ricordami" tramite cookie..... PHP 12
M script per login...qualcuno mi aiuta? PHP 4
F Somma di più tabelle da script Javascript 0
L Script per convertire numeri in parole Javascript 2
H Eliminazione script. Photoshop 0
S Script Google Translate scomparso HTML e CSS 3
P lanciare script asp (o php) da jquery Javascript 1
G Script notifiche dekstop aiuto Javascript 0
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
P Passare solo alcuni parametri a script per CSV PHP 0
M Collegamento tra form html e script php PHP 4
F Script java elenco alfabetico non funziona Javascript 3
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
P Script upload immagini jQuery 0
M Premature end of script headers PHP 1
Cosina script data aggiornamento pagina Javascript 1
R Distribuire uno Script "Facebook Auto Post" PHP 0
F Creazione script Tv Presentati al Forum 1
N Script elenco file HTML HTML e CSS 5
felino PHP e script generazione file excel PHP 2
MarcoGrazia Se non sai se riceverai da GET o da POST, puoi verificarlo e far scegliere allo script. Snippet PHP 0
Beppe2 Ritardare esecuzione script Javascript 2
R Primo script in PHP / CSS PHP 4
felino Script PHP per leggere un file JSON. autenticazione? PHP 4
T [a pagamento] programmatore PHP che mi aiuti a migrare gli script da vecchia versione PHP a nuova Offerte e Richieste di Lavoro e/o Collaborazione 1
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
F Aiuto java script Javascript 2
Max 1 [PHP] Script che funziona in locale e non online PHP 16
K Help: problema con uno script di booking in php! PHP 0
O [PHP] inviare dati da form e script ajax PHP 0
P [PHP] Aggiungere un mio script a prestashop? PHP 10
D [Javascript] inserire uno script in un file php Javascript 6
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
R [Javascript] Aiuto su questo script Javascript 2
M [HTML] Stesso script su 2 blog CMS (Content Management System) 4
romeocharly [PHP] Script per rinominare in automatico le immagini inviate da ftp PHP 0
elpirata [Javascript] Lo script alle volte funzione altre volte no Javascript 0
A [PHP] Script con array con numeri che iniziano per 00 PHP 2
F [HTML] Failed script su coffee cookies HTML e CSS 1
TpD [PHP] Script per organizzazione presenza eventi PHP 3
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
T interpretare uno script php non fatto da me... PHP 3
Cosina Modifica script textarea jQuery 0

Discussioni simili