• User Attivo

    Require - richiamare funzioni da una pagina php

    Ciao a tutti, sto cercando di realizzare un sito in php con al caratteristica di avere tutte le funzioni per le varie elaborazioni su un unico file php, per permettermi poi di effetturare rapidamente aggiornamenti futuri. Queste funzioni poi vengono richiamate dalle varie pagine del sito. ma non riesco a farlo funzionare.
    Nella pagina funzioni.php ho una funzione identificazione() interrogo il db mysql per estrarre il nome della persona che si è loggata,e stamparlo a video tipo "Benvenuto $nome". In piu se il nome corrisponde a quello dell amministratore si dovrebbe visualizzare un menù aggiuntivo.

    funzioni.php

    
    function identificazione(){ ?>
    <h2>Area Riservata</h2>
    <ul>
    <li>Benvenuto <?php
    $host = "xxxxxxxxx";
    $username = "xxxxxx";
    $pass = "xxxxxxxxxxx";
    $database = "xxxxxxxxxxxx";
    $nominativo_amministratore = "xxxxxx yyyyyyyy";
    $connessione = mysql_connect($host,$username,$pass);
    $db=mysql_select_db($database, $connessione);
    $query = "SELECT * FROM area_riservata WHERE nome = '$nome'";
    $result = mysql_query($query);
    while ( $row = mysql_fetch_assoc($result)){
    $nomecognome = $row['nominativo'];
    }
     echo $nomecognome; ?></li>
    <li><a href="destroy.php">Disconnettiti</a></li>
      <li>&nbsp;</li>
    </ul>
    <br />
    <?php 
    if($nome == $nominativo_amministratore){ ?>
    <h2>Menù Amministratore</h2>
    <ul>
        <li><a href="">Gestione Utenti</a></li>
        <li><a href="">Gestione Materiale</a></li>
     <li><a href="">Gestione News</a></li>
      <li>&nbsp;</li>
    </ul>
    <br />
    <?php } ?>
    <?php } ?>
    
    

    Richiamo nella pagina interessata con

    
        <div id="nav">
          <?php
    require("funzioni.php");
    echo identificazione();
    ?>
        </div>
    
    

    Non funziona, il menu amministratore me lo mostra a tutti gli utenti, e il nominativo non viene stampato vicino a "Benvenuto "
    Mi aiutate?


  • User Attivo

    Riflettendo sul problema credo di aver capito forse dove sta l errore, ma io non sono un esperta quindi cihedo ciarimenti a voi, e ovviamente spero in un vostro aiuto.

    Credo che il problema sia nella riga
    $query = "SELECT * FROM area_riservata WHERE nome = '$nome'";
    nella pagian che riciamo ho all inizio
    $nome = $_GET['nome']; che serve per far partire a sessione

    Il mio dubbio è:
    quando uso il comando require per richiamare la funzione identificazione() dal file funzioni.php, il pezzo di codice viene sostituito nella pagina e poi esguito quindi trovando $nome = $_GET['nome']; o viene elaborato cmq nella pagina funzioni.php ed in questo caso $nome non è valido?


  • User Attivo

    Prova con questo:

    [php]<div id="nav">
    <?php
    require("funzioni.php");
    identificazione();
    ?>
    </div>[/php]

    :gthi:


  • User Attivo

    Ciao scusa se rispondo adesso, comunque lo stesso non funziona anche togliendo echo :crying:


  • User Attivo

    Prova cosi:

    [PHP]<?php function identificazione($user){ ?>
    //qui ti connetti e cerchi i dati dell'amministratore
    if($user == $nominativo_amministratore){ ?>
    <h2>Menù Amministratore</h2>
    <ul>
    <li><a href="">Gestione Utenti</a></li>
    <li><a href="">Gestione Materiale</a></li>
    <li><a href="">Gestione News</a></li>
    <li> </li>
    </ul>
    <br />
    <h2>Area Riservata</h2>
    <ul>
    <li>Benvenuto <?php echo $user; ?>
    </li>
    <li><a href="destroy.php">Disconnettiti</a></li>
    <li> </li>
    </ul>
    <br />
    <?php
    }else{
    ?>
    <h2>Area Riservata</h2>
    <ul>
    <li>Benvenuto <?php echo $user; ?>
    </li>
    <li><a href="destroy.php">Disconnettiti</a></li>
    <li> </li>
    </ul>
    <br />
    <?php
    }
    }
    ?>
    [/PHP]

    E poi

    <div id="nav">
    <?php
    $user=$_SESSION['user'];//casomai utilizzi le sessioni oppure utilizzi $_COOKIE per utilizzare i cookie
    require("funzioni.php");
    identificazione($user);
    ?>
    </div>


  • User Attivo

    Ho fatto una prova veloce e sembra funzionare. Appena questi sciacalli mi lasciano un po di tempo strutturo il tutto e provo meglio.
    Grazie di cuore, non sono pratica di scripting e ci stavo sbattendo la testa da diversi giorni
    :wink3:

    Ciao e grazie a tutti


  • User Attivo

    Prego;)


  • User

    Ciao Jeeves, usando questo codice;

    <div id="nav">
    <?php
    require("funzioni.php");
    identificazione();
    ?>
    </div>

    viene mostrato il contenuto della pagina .php, ma subito dopo sotto mi dà questo errore;

    Fatal error: Call to undefined function identificazione() in /home/content/c/a/r/carinipa/html/Senzatitolo-2.php on line 169