Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Mostrare dati solo dell'utente logato

    In base al docente logato, devo estrarre da un campo di database (chiamiamolo Materia) solo le materie che quel docente insegna.
    Come mi consigliate di fare?

  2. #2

    Re: Mostrare dati solo dell'utente logato

    Originariamente inviato da Horus-Ra
    In base al docente logato, devo estrarre da un campo di database (chiamiamolo Materia) solo le materie che quel docente insegna.
    Come mi consigliate di fare?
    non ho idea di quello che tu hai attualmente, ma cosi' sui due piedi direi una tabella "docenti", una tabella "materie" una tabella "unione" che associ docenti e materie.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Mi sono spiegato male.
    Il mio problema non è a livello del database (quello è già a posto), ma a livello di php. Il database contiene l'elenco di tutti i docenti e a fianco esiste un campo join che li lega alle rispettive materie.

    Questo è il dilemma:
    dopo essersi logato, il docente va in una pagina dove è presente un form. Qui c'è un menu a tendina, che deve contenere l'elenco delle sole sue materie.
    Quello che non so è come fargli passare questa informazione dopo il login, cioè dirgli "controlla il campo Docenti e prendi solo le materie di quel docente".
    Questo è il codice del controllo della login (semplificato).

    Codice PHP:
    <?
    session_start
    ();
    include(
    "config.php");

    $scelta=$_POST['scelta'];
    $login=$_POST['login'];
    $pwd=$_POST['pwd'];

    if(
    trim($login)=="" OR trim($pwd)==""){
                        echo 
    "I campi Login e Password devono essere riempiti!";
    }

    if(
    $scelta=='doc'){

                        
    $q "SELECT * FROM InsegnantiLogin WHERE InsegnantiLogin_Login='$login'";
                        
    $query mysql_query($q) or die(mysql_error());
                        
    $password=mysql_result($query,0"InsegnantiLogin_Password");
                        
    $nome=mysql_result($query,0,"InsegnantiLogin_Nome");
                        
    $cognome=mysql_result($query,0,"InsegnantiLogin_Cognome");
                        if(
    $pwd==$password){
                          
    header("Location: Docenti/docenti.php");
                        }
    }

    ?>

    Come faccio a passargli le variabili $nome e $cognome nella pagina di destinazione? Con quelle
    potrei poi connettermi al database e controllare il campo vicino, che contiene le materie...

  4. #4
    puoi salvare ciò che ti serve in variabili di sessione..

  5. #5
    difficile capirsi.

    cose' un campo join? forse un campo di riferimento per altra tabella?? che vuol dire conettersi al database e controllare il campo vicino che contiene le materie?


    quale la struttura del db, dove sono, cioe', un quali tabelle sono questi valori?

    per lo script sei alle solite. Usi mysql_result, non controlli la valorizzazione di $_POST

    if(empty($_POST['var'] etc....

    controlli la pwd con php invece che nella query, e se i campi materie fossero "vicini" li avrest gia' estratti con il select *


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    cose' un campo join? forse un campo di riferimento per altra tabella??
    Sì, intendo un campo che fa da tramite a due tabelle... attraverso una join appunto.

    per lo script sei alle solite. Usi mysql_result, non controlli la valorizzazione di $_POST
    ehm, in effetti il mysql_result è un residuo della mia ignoranza... giuro che ho già cominciato a cambiare tutte le altre pagine, mi sono dimenticato di farlo qui

    if(empty($_POST['var']))
    Questo invece non ci ho proprio pensato... dovrei farlo per ogni variabile derivante da un form, in qualsiasi pagina? Se lo trova vuoto, lo indirizzo alla pagina precedente in modo che reinserisca il valore?


    puoi salvare ciò che ti serve in variabili di sessione..
    Se io metto una variabile di questo tipo
    $_SESSION['nome'] = $nome;
    nella pagina di destinazione lo richiamo con $nome=$_POST['nome']; come se provenisse da un form?

    Grazie a entrambi per l'aiuto

  7. #7
    risposte random...

    mysql result fa una chiamata per ogni campo. mysql_fetch_assoc un chiamata al buffer per ogni riga. Nel tuo caso tre chiamate contro una e non prendi gli altri campi.

    Le variabili in arrivo da un POST-GET vanno sempre controllate. Non sai che ci puo' mettere lo user.Sia per vedere se sono valorizzate o meno, ma sopratutto lo siano con dei valori attesi.

    Se salvi dei dati di sessione devi prima "aprire" una sessione, e i dati li troverai continuando la stessa sessione in altre pagine e sempre nella variabile di sessione $_SESSION. Quindi session_start() all'inizio di ogni pagina.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Originariamente inviato da Horus-Ra
    Codice PHP:
    header("Location: Docenti/docenti.php"); 
    Come faccio a passargli le variabili $nome e $cognome nella pagina di destinazione? Con quelle
    potrei poi connettermi al database e controllare il campo vicino, che contiene le materie...
    non puoi semplicemente passarle col metodo get?

    Codice PHP:
    header("Location: Docenti/docenti.php?nome=".$nome."&cognome=".$cognome); 
    I hope there is a way back with my talisman
    so I look into myself to the days when I was just a child
    come follow me to wonderland and see the tale that never ends
    don't fear the lion nor the witch I can't come back
    I'm lost but still I know there is another world

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Potrei farlo, ma da quanto ne so risultano visibili sulla barra degli indirizzi, cosa che tendo a evitare... per quello in genere uso il POST.

    Comunque grazie per le risposte. La mia conoscenza sul php aumenta di giorno in giorno grazie a questo forum

  10. #10
    be' sì, ma risulta visibile solo al docente...
    ma questi docenti come sono salvati nel db? se hanno un id come chiave primaria? potresti semplicemente passare quella no?

    Comunque grazie per le risposte. La mia conoscenza sul php aumenta di giorno in giorno grazie a questo forum
    la mia conoscenza del php è veramente basilare, sono daccordo con te, questo forum è come manna dal cielo...
    I hope there is a way back with my talisman
    so I look into myself to the days when I was just a child
    come follow me to wonderland and see the tale that never ends
    don't fear the lion nor the witch I can't come back
    I'm lost but still I know there is another world

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.