• User Attivo

    Creare pagina php con scelte multiple di tabelle da database, è possibile'???

    Ciao a tutti..tanto per cominciare non so bene se il titolo è giusto rispetto alla domanda che pongo...
    comunque, vorrei sapere se è possibile e fattibile creare un form per caricare, modificare e cancellare record da differenti tabelli in database.
    La mia idea sarebbe un form in cui
    1 - prima dia sia la possibilità di scelta multipla delle tabelle presenti nel database
    2 - fatta la scelta dovrebbero apparire a video i vari record presenti nella tabella
    3 - a questo punto la possibilità di caricare nuovi records, fare il downloads per modificare i records presenti ed infine la possibilità di cancellare i records che non servono più (quest'ultima scelta dovrebbe essere rarissima e riservata solo a me)

    oltre al form da creare, quanti tipi di file php sono da fare? uno per ogni tabella o bastano solo quelli di upload, modifica e cancella????
    Poi, giusto per non farmi mancare nulla a tale pagine si deve accedere solo con user e password e quindi quando accedo io devo apparire anche il pulsante cancella, mentre quando accedono altri solo quello carica e modifica (ma magari il problema si risolve con due pagine html differenti!?
    ...mi complico la vita, vero...forse più semplice è fare una sola tabella...ma poi il database mi sembra un poco incasinato!!!)


  • User

    Vediamo un po se ho capito: devi creare lato amministrativo per un DB MySQL? Che gestisca inserimento, modifica e cancellazione di record e/o tabella con privilegi collegati alla'utente che effettua il login? ... Se e' cosi direi che in ballo ci sono un bel po di cosette...

    Non sono espertissimo ma per prima cosa farei una tabella del DB per gli utenti, in secondo luogo una tabella con i permessi relativi a seconda delle varie sezioni (opzionale), poi farei il file login.HTML in cui c'e' il tuo forma di accesso, dopo di che il file che raccoglie le info del forma, apre la sessione e si occupa di reindirizzare l'utente alla prima pagina di gestione.

    Poi possiamo per seguire, ma per ora dimmi se siamo in linea con quello che vuoi fare...


  • User Attivo

    in linea perfetta...le tabelle nel databasse le ho fatte...è tutta la parte di file php che non capisco...e non mi riesce a fare...nel database la tabella per i previlegi utenti alla fine avrà solo due utenti e cioè me con previlegi totali e una seconda persona che potrà solo modificare fare il download, editare, modificare e uopload, ma non cancellare...e fino a qui ci sono arrivata...


  • User

    Il controlli dell'utente che intende loggarsi lo hai fatto?


  • User Attivo

    per il momento sono ferma


  • User

    OK, allora per cominciare crea un form, inserisci la richiesta di user e pass, poi creai il file di controllo dei dati inseriti, chiamato check.php o simile ad esempio.
    Nel check.php recuperi le variabili con $_POST o $_GET a seconda del metodo del form (in genere $_POST), e fai il controllo conuna query sul db

    Ad esempio:

    <?
    if (isset($_POST["user"])) {$user = $_POST["user"];}
    if (isset($_POST["pass"])) {$pass = $_POST["pass"];}

    $sqluser = "select * from utenti where ute_user = '".$user."' and ute_pass = '".$pass."' and ute_attivo = 1"; // ute_attivo = 1 puoi ometterla, io la uso per disattivare l'utente senza cancellare il record
    $resuser = mysql_query($sqluser) or die("Query fallita user. Errore Mysql: ".mysql_error());
    $row = mysql_fetch_array($resuser);

    if (mysql_num_rows($resuser) != 0) {
    $_SESSION["iduser"] = $row["ute_id"];
    header("Location: indirizzo_prima_pagina_lato_admin.php");
    } else {
    header("Location: login.html?errore=1"); // torno al login indicando che c'è stato un errore
    }
    ?>

    potremmo poi parlare dei problemi di sicurezza legati al form di accesso ma per ora fallo funzionare, poi affini la tecnica 🙂


  • User Attivo

    ok, vedo cosa riesco a fare...se aggiungo alla tabella anche il recordo ute_attivo, il campo deve essere varchar o int??? Il dubbio è legato al fatto che dovrebbe richiamare l'id dell'utente per cui un campo numerico immagino...


  • User

    Attenzione, se vuoi un id univoco che ti faccia da chiave primaria, imposta ad esempio ute_id con tipologia integer, non nullo e autoincrementale, mentre per ute_attivo metti anche un tinyint a 1 di lunghezza max, tanto lo usi semplicemente con 0 oppure 1... spero di essermi spiegato, a dopo...