Newsgroup: it.comp.www.php
Titolo: Problema Login Area sito

Salve a tutti,
come da tread non riesco a far funzionare l'accesso con login dati 
estratti da db mysql.
Io posto i files che ho fatto nel caso qualche anima gentile abbia tempo 
e voglia di controllare
cosa ho sbagliato.
Premesso che i files sono parti di pagine e che connessione.inc e 
download_contenuto.php
funzionano bene (li ho messi per dare una panoramica generale e nel caso 
di soluzione
per qualcuno a cui in futuro dovesse servire una cosa del genere), il 
problema dovrebbe
risiedere in download_access.php .
--------------------------------------------------------------------------------------
//FILE topolinoDB.sql :
# phpMyAdmin SQL Dump
# version 2.5.3
# 
http://www.phpmyadmin.net
#
# Host: localhost
# Generato il: 01 Lug, 2009 at 11:12 PM
# Versione MySQL: 4.0.15
# Versione PHP: 4.3.3
#
# Database : `topolinoDB`
#
# --------------------------------------------------------
#
# Struttura della tabella `download`
#
CREATE TABLE `download` (
  `id_download` varchar(6) NOT NULL default '',
  `username` varchar(20) NOT NULL default '',
  `password` varchar(20) NOT NULL default '',
  PRIMARY KEY  (`id_download`)
) TYPE=MyISAM;
#
# Dump dei dati per la tabella `download`
#
INSERT INTO `download` VALUES ('access', 'etabeta', 'archimede');
--------------------------------------------------------------------------------------
//FILE connessione.inc :
<?php
// Connect to db
$db_host='localhost';
$db_user='pippo';
$db_password='pluto';
$db_name='topolinoDB';
$db=mysql_connect($db_host,$db_user,$db_password)
or die("Impossibile connettersi al server $db_host");
mysql_select_db($db_name,$db)
or die("impossibile connettersi al database $database");
?>
--------------------------------------------------------------------------------------
//FILE download_contenuto.php :
<h1>AREA DOWNLOAD</h1><br>
<h2>LOGIN</h2><br>
<p>E' necessario inserire Username e Password per poter effettuare 
Download *</p><br>
<div id="password">
<form action="download/download_access.php" method="POST" 
enctype="multipart/form-data">
<input type="hidden" name="destinatario" value="
pi...@email.it
">
<h3>Username</h3><h3><input type="text" name="user" size="20" 
maxlength="20"></h3>
<h3>Password</h3><h3><input type="password" name="pass" size="20" 
maxlength="20"></h3>
<br><br>
</div>
<input type="submit" value="Accedi" />
----------------------------------------------------------------------------------------
//FILE download_access.php :
<?php
//apro la connessione AL DB
include ("../connessione.inc");
//Recupero dell'username e della password
    $user = $_POST['user'];
    $pass = $_POST['pass'];
$usconf = mysql_query("SELECT username FROM download WHERE 
id_download='access'");
$paconf = mysql_query("SELECT password FROM download WHERE 
id_download='access'");
$uscorretto = mysql_fetch_assoc($usconf);
$pacorretto = mysql_fetch_assoc($paconf);
    if ($user == $uscorretto && $pass == $pacorretto){
echo"<meta http-equiv='refresh' 
content='0;url=../download_consentito.php'>";
}else{
echo"<meta http-equiv='refresh' content='0;url=errore.php'>";
}
// Chiudo la connessione al DB
mysql_close($db);
?>
</form>
------------------------------------------------------------------------------------------
Mi manda sempre nella pagina di errore.
Forse ho fatto casino con mysql_fetch_*.
Grazie in anticipo.
-- 
Eritreo

Eritreo Cazzulati ha scritto:

giuro su quel che vuoi che non ho mai visto un casino del genere in 
viata mia...
che senso ha fare due select sullo stesso campo id_download e poi cosï¿œ 
come pensi di gestire le altre insert? Un db con un solo utente? Booh!
Mi sa che fai meglio a leggerti qualche guida per principianti, quindi 
vai su google e digiti "php login" ne trovi quante ne vuoi.

 vai su google e digiti "php login" ne trovi quante ne vuoi.
ho googlato s� ma speravo di trovare una risposta nello specifico,
perch� non capisco perch� non mi vada la condizione
if ($user == $uscorretto && $pass == $pacorretto){
sono abbastanza conscio di aver fatto un casino per� mi
piacerebbe avere una risposta sul dove ci siano degli errori
nella sintassi.
Per esempio le 2 select sono da come mi dici tu senza senso ma
sono corrette dal punto di vista sintassi.
In ogni caso grazie di averci buttato un ochhio.
Ciao.
-- 
Eritreo

Eritreo Cazzulati ha scritto:

A parte il fatto che come ti ha giï¿œ detto qualcun'altro ti converebbe
leggere un libro sul php, comunque la funzione mysql_fetch_assoc
restituisce un array, e ovviamente non puoi comparare un array ad uno
scalare.
se proprio vuoi persistere con il codice che hai scritto potresti fare
una cosa del genere:
$uscorretto = mysql_fetch_assoc($usconf);
$pacorretto = mysql_fetch_assoc($paconf);
$uscorretto = $uscorretto['username'];
$pacorretto = $pacorretto['password'];
comunque quando hai un errore puoi fare un primo debug brutale con la
funzione var_dump, se tu avessi messo un var_dump($uscorretto); avresti
capito da solo l'errore.
detto questo... il codice ï¿œ un bel po incasinato, la logica non ï¿œ
separata dalla presentazione, fai due query al db dove ne basterebbe
una, etc....

 una, etc....
il problema � che io i manuali li leggo ma un po' alla carlona, cio� 
salto
di palo in frasca a seconda della necessit� e questo mi incasina tutto,
a partire dagli script ...
grazie ancora,ciao.
-- 
Eritreo