SELECT CON PASSAGGIO DI VARIABILI

Vorrei far funzionare questo codice senza aver attivato il register_globals su ON del PHP.ini, come posso fare?

<?
session_start();

function refresh($url,$t)
{
 echo "<META HTTP-EQUIV=REFRESH CONTENT=\"$t;  URL=$url\">";
}

include "connessione.php";

$selacc =  "select * from utenti where nominativo = '$nomin' and logon = '$usern' and password = '$passw'";

$queryselacc = mysql_query ($selacc,$connes)
                       or die ("Non riesco ad eseguire la richiesta, torna indietro");

$valselacc = mysql_fetch_array ($queryselacc);
$idac = $valselacc ["idute"];

If ($idac == '') {
mysql_close ($connes);
$msg = "ACCESSO NEGATO";
$msg = urlencode($msg); // non ci possono essere spazi nell'URL
refresh("accesso.php?msg=$msg",0);
exit;
} else {
session_register("nomin");
$nominat = $nomin;
$cod = "6a4c2e0g1";
session_register("cod");
$cd = $cod;
mysql_close ($connes);
refresh("menu.php?vd=ok",1);
}
?>
inviato 10 anni fa
EKELON77
X 0 X

A priori non si può mica dire!?! Dipende dalle variabili che provengono dal form, dall'URL e dai COOKIE. Ad esempio se la variabile $nomin viene da un form allora dovresti sostituirla con $_POST['nomin']

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ho modificato la quey in questo modo:

$selacc =  "select * from utenti where nominativo = $_POST['nomin'] and logon = $_POST['usern'] and password = $_POST['passw']";

ma è corretto?

Questo è il messaggio di errore che mi viene visualizzato:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Programmi\ApacheGroup\Apache2\www\sitovideoteca\areariservata\login.php on line 14

risposto 10 anni fa
EKELON77
X 0 X

Se usi un array in una stringa delimitata dai doppi apici allora NON devi mettere gli apici nell'array:

$selacc =  "select * from utenti where nominativo = $_POST[nomin] and logon = $_POST[usern] and password = $_POST[passw]";

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ok grazie a te ho fatto un passo avanti in fatti adessso:

$selacc =  "select * from utenti where nominativo = $_POST[nomin] and logon = $_POST[usern] and password = $_POST[passw]";

penso che così sia corretto ma mi viene visualizzato il seguente errore che non riesco a capire perchè la query la esegue ed eccola qui "select * from utenti where nominativo = Amministratore and logon = video and password = rossi"

Non riesco ad eseguire la richiesta, torna indietro-Unknown column 'Amministratore' in 'where clause'

Ti ringrazio anticipatamente per la tua disponibilità  :angel: 

risposto 10 anni fa
EKELON77
X 0 X

In effetti la query va corretta in questo modo:

$selacc =  "select * from utenti where nominativo = '$_POST[nomin]' and logon = '$_POST[usern]' and password = '$_POST[passw]'";

come vedi è ancoda un problema di apici

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Purtroppo ancora non và mi da questo errore e non mi fà accedere al menu:

"Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0"

Credo che sia da ristrutturare la modalità di tutto il passaggio delle variabili con versione PHP 5.1.2  :bye: :angel:

risposto 10 anni fa
EKELON77
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda