Newsgroup: it.comp.www.php
Titolo: Autenticazione

Ciao ragazzi vi posto il codice che ho scritto, purtroppo non riesco a
farlo funzionare:
Questo è il file login.php
<?php
  include ("connect.inc");
  global $link;
  $Username = $_POST['ob_uname'];
  $Password = $_POST['ob_passw'];
  $crypt = md5($Password);
  while(list($chiave, $valore)=each($_POST)){
  if(substr($chiave,0,3)=="ob_"){
    if($valore ==""){
      echo "<b> non hai compilato il campo obbligatorio $chiave,
l'iscrizione non può essere processata.</b><br  />";
      $flag_controllo=1;
      break;
      }
    }
  }
$risultato = mysql_query( "SELECT * FROM Anagrafica WHERE nome
='$Username' AND password ='$crypt'",$link);
echo mysql_num_rows($risultato) == 1
    ?    "<p>Ok,sei autorizzato</p><br>"
    :     'Nome utente o password non validi<br><a
href="iscriviti.php">iscriviti</a>';
?>
Questo è il file connect.inc
<?php
  $link;
  connetti();
  function connetti(){
    global $link;
    $link = mysql_connect("localhost","xxxxxx","xxxxxx" );
    if (!$link)
      die ("Impossibile connettersi al DB");
      mysql_select_db("consulenti", $link)
      or die ("Impossibile aprire il database: ".mysql_error() );
    }
?>
Il form ha due input (username, password).
Grazie
Fabrizio

   global $link;
Costrutto inutile
Un codice piu' pulito sarebbe stato:
$link = connetti ();
Dove connetti restituisce il link MySQL.
Tieni presente che se utilizzi una sola connessione anche l'utilizzo di
$link con le altre funzioni e' opzionale.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
L'uomo, conscio di sbagliare, persevera.

$link con le altre funzioni e' opzionale.
Ho provato ma  senza fortuna, ti posto il codice scritto:
$link = mysql_connect("localhost","xxxxxx","xxxxxx" );
    if (!$link)
      die ("Impossibile connettersi al DB");
    mysql_select_db("consulenti", $link)or die ("Impossibile aprire il
database: ".mysql_error() );
$risultato = mysql_query( "SELECT * FROM Anagrafica WHERE nome
='$Username' AND password ='$crypt'",$link);
$row = mysql_fetch_array($risultato);
echo "$risultato <br>";
echo "Rows: $row <br>";
if ($row>0) {
  echo "AUTORIZZATO";
} else { echo "NON AUTORIZZATO";
}
Spero di aver capito bene le tue dritte.
Fabrizio

 Spero di aver capito bene le tue dritte.
Non proprio.
[promo]
Ti consiglio di dare una letta a
http://setecastronomy.stufftoread.com/go.php?ID=23
[/promo]
-- 
I am what I am, I do what I can


[/promo]
Lo farò sicuramente.
Mi sono scervellato ma l'ho risolto.
Ti ringrazio tantissimo per l'aiuto offertomi.
Fabrizio

 In che senso?
Il codice seguendo i miei suggerimenti.
<?php
	function connetti ( ){
		$link = @mysql_connect ("localhost", "xxxxxx", "xxxxxx");
		if ($link == false) {
			return false;	
			// die ("Impossibile connettersi al DB");
		} elseif (@mysql_select_db ("consulenti", $link) == false) {
			return false;
			//die ("Impossibile aprire il database: " . mysql_error());
		} 
		return $link;
	}
 
	$link = connetti ();
	if ($link !== false) {
	// se utilizzi una sola connessione DB e' sufficiente
	// if (connetti () !== false){
		// il tuo codice
		$sql = 'SELECT * FROM Anagrafica '.
			   'WHERE nome="' . mysql_escape_string ($Username) . 
			   '" AND password="' . mysql_escape_string ($crypt) . '"';
		$risultato = @mysql_query ($sql ,$link);
		// se utilizzi una sola connessione DB e' sufficiente
		// $risultato = @mysql_query ($sql);
		if ($risultato !== false) {
			// etc. etc.
		} else {
			print ('Query non riuscita.');
		}
	} else {
		print ('Connessione non riuscita: ' . mysql_error ());
	}
?>
Da testare.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
