Buonasera a tutti,
è la prima volta che apro una discussione in questo forum spero di non fare troppi 'danni'.

In breve ho un problema con la ricezione dei dati da un database a una pagina PHP.

Ho cercato in lungo e in largo discussione inerenti su questo forum, in generale su google, su altri forum... ma non ho trovato nulla che sia riuscito a risolvere il mio problema. Mi affido a voi che sicuramente avete una maggiore esperienza e soprattutto un occhio critico mi farebbe comodo.

La pagina PHP serve a registrarsi per accedere a un contenuto aggiuntivo di un sito ed è strutturata grossomodo così: incomincia con un 'require' per caricare le variabili di connessione, l'apertura della connessione (FUNZIONANTE), poi una funzione per il controllo delle variabili, alcune righe per inserire i dati dei campi del form dentro le variabili, alcuni filtri e infine la parte di inserimento dei dati all'interno del database.

Ecco il codice della pagina all'ultimo salvataggio (escluso il 'require'):
Codice PHP:
<?php
//----------CONFIGURAZIONE----------
require 'configurazione.php';
//----------CONNESSIONE----------
$conn mysql_connect($server$username$password);
if (!
$conn)  {    die ("Connessione a Mysql non riuscita.");}
$conn_db mysql_select_db($database$conn);
if (!
$conn_db) {    die ("Connessione non riuscita al database specificato.");}
//----------FILTRO CARATTERI----------
function test_input($data){    $data trim($data);    $data stripslashes($data);    $data htmlspecialchars($data);    return $data;}
//----------FILTRO VOID----------
//Variabili impostate vuote$nome = $cognome = $mail = $alfa = $parola_A = $parola_B = "";$err_titolo =  $err_nome =  $err_cognome =  $err_mail =  $err_alfa =  $err_parola_A =  $err_parola_B = $err_cond = "";$n = $a = 0;
//Acquisisci variabili$nome = test_input($_POST["nome"]);$cognome = test_input($_POST["cognome"]);$classe = ($_POST["classe"]);$mail = test_input($_POST["mail"]);$alfa = test_input($_POST["alfa"]);$parola_A = test_input($_POST["parola_A"]);$parola_B = test_input($_POST["parola_B"]);$cond= $_POST["cond"];
if ($nome == "" && $cognome == "" && $mail == "" && $alfa == "" && $parola_A == "" && $parola_B == "") {        $n++;        $err_titolo "Tutti i campi sono obbligatori!";} else {
    if (
$nome == "") {        $n++;        $err_nome "Inserisci il tuo " "<span class='obj'>bellissimo</span>" " Nome.";    }
    if (
$cognome == "") {        $n++;        $err_cognome "Inserisci il tuo " "<span class='obj'>onorevole</span>" " Cognome.";    }
    if (
$mail == "") {        $n++;        $err_mail "Inserisci la tua " "<span class='obj'>simpatica</span>" " E-Mail.";    }
    if (
$alfa == "") {        $n++;        $err_alfa "Inserisci il Codice " "<span class='obj'>noioso.</span>";    }
    if (
$parola_A == "") {        $n++;        $err_parola_A "Scegli una Password " "<span class='obj'>divertente.</span>";    }
    if (
$parola_B == "") {        $n++;        $err_parola_B "Conferma la tua Password " "<span class='obj'>divertente.</span>";    }}
if (
$n == 0) {          //----------FILTRO NOME E COGNOME----------
    
if (!preg_match("/^[a-z A-Z]{3,24}$/"$nome) or !preg_match("/^[a-z A-Z]{3,24}$/"$cognome)) {        $n++;        $err_cognome "Sono vietati i caratteri speciali per Nome e Cognome. Usa solo caratteri dalla a(A) alla z(Z). Caratteri minimi: 3. Massimi: 24.";    } else {          $ask "SELECT * FROM " $tabella_U " WHERE Nome = " $nome " and Cognome = " $cognome;        $check mysql_query($ask);        if ($check == $nome or $check == $cognome) {            $n++;            $err_cognome "Utente già registrato." $check;        }    }
    
//----------FILTRO E-MAIL---------
    
if (!preg_match("/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/"$mail)) {        $n++;        $err_mail "Indirizzo E-mail non valido.";    } else {        $ask "SELECT * FROM " $tabella_U " WHERE Mail = " $mail;        $check mysql_query($ask);                if ($check != "") {            $n++;            $err_mail "Indirizzo E-mail già registrato.";        }            }
    
//----------FILTRO PASSWORD----------
    
if ($parola_A != $parola_B) {        $n++;        $err_parola_B "Le due Password non corrispondono. Riprova.";    }
    if (!
preg_match("/^[a-z A-Z 0-9]{8,24}$/"$parola_A)) {        $n++;        $err_parola_A "La Password contiene caratteri proibiti. Usa solo caratteri dalla a(A) alla z(Z). Caratteri minimi: 8. Massimi: 24.";    }
    
//----------FILTRO CONDIZIONI----------         if ($cond == 0) {                  $err_cond = "Accetta le Condizioni per continuare.";     }}

//----------Registrazione----------
if ($n == 0) {    $ask "SELECT Attivazione FROM password WHERE Password = 'AXIZZ'";    $a mysql_query($ask) or die ("Errore.");    $a mysql_fetch_row($a);    echo $a;    if ($a == "CODEOFF") {echo "9";            $parola_A sha1($parola_A);            mysql_query("INSERT INTO $tabella_U VALUES ('', $nome$cognome$classe$mail$alfa$parola_A, '')");            mysql_query("UPDATE $tabella_P SET Attivazione = 'CODEON' WHERE Password = $alfa");            mysql_query("CREATE TABLE $cognome (ID int(12) PRIMARY KEY, Nome varchar(24), Cognome varchar(24), Classe varchar(2), E-mail varchar(50), Codice varchar(5), Password varchar(40), Attivo int(1) DEFAULT '0')");            mysql_query("INSERT INTO $cognome VALUES ('', $nome$cognome$classe$mail$alfa$parola_A, '')");                        header("Location:pag_complete.php");     } else if ($a == "CODEON") {              $err_alfa "Codice già utilizzato!";       } else {             $err_alfa "Codice errato. Ricontrolla. ";         }}mysql_close();
?>
Ogni utente che si registra ha un codice univoco, quindi ho bisogno di controllare se quel codice esiste nel database e nel caso disattivarne il riutilizzo.
Il problema sta proprio qui. Non riesco a immagazzinare la risposta nella variabile.

N.B.
Nel file che richiamo all'inizio dello sketch sono contenute le variabili $tabella_P = password; che contiene tutti i codici disponibili e $tabella_U = utenti; che contiene una lista di tutti gli utenti.


Ormai sono più di 2 settimane che ci sbatto la testa e ora confido in voi. Se avete anche delle osservazioni non inerenti direttamente al problema non esitate a scrivere.
Spero di aver dato abbastanza informazioni...
Vi ringrazio in anticipo,
Ciao