Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [PHP] link interni

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192

    [PHP] link interni

    Salve di nuovo a tutti
    Vi espongo un problema che da stamani non riesco a trovare una soluzione efficace. Ho un sito praticamente fatto a blocchi, con una pagina in php (la index.php) che carica automaticamente i blocchi con i vari include: dall'header al menu al footer e questo è il codice:
    Codice PHP:
    <? 
    include("header.php");
    include(
    "submenu.php");
    include(
    "menusx.php");

    $p="main";              //pagina di default per i contenuti centrali
    if(isset($_GET['page'])){      //pagina passata via parametro
        
    $p=$_GET['page'];
        if(
    $p!=basename($p) || !preg_match("/^[A-Za-z0-9\-_]+$/",$p) || $p=="index" || !file_exists($p.".php"))
            
    $p="error";     //pagina di errore
        
    }
    include(
    $p.".php");

    include(
    "menudx.php");
    include(
    "footer.php"); 
    ?>
    Ad ogni link del menu (o submenu) vi associo una pagina con questo codice:
    Codice PHP:
    [url="index.php?page=nomepagina"]LINK[/url
    in modo che mi carica SOLO nel centro (nel main) la pagina che linko. Fin qui tutto bene.
    Ora il submenu (che si carica dopo l'header) è una riga di una tabella dove nella prima cella cè un form per il login dell'utente (user+pwd+un bottone).
    Il problema: io vorrei che una volta loggatosi (un utente) al posto del form di login nel submenu, mi compaia un messaggio di benvenuto dell'utente con il rispettivo logout, e al centro (nel main) l'eventuale sua pagina che creerò.

    La cosa invece che sono riuscito a fare è che una volta loggato l'utente, compare si al centro la sua pagina, ma la form di login nel submenu rimane sempre uguale! E ovviamente ogni volta che premo qualunque link del menu la pagina centrale dell'utente scompare e dovrei loggare ogni volta....

    Non so se mi sono spiegato... :berto: mi sa propro de no... ma ho bisogno di aiuto! Se qualcuno mi dedica 5 minuti del suo tempo lo ringrazio in anticipo!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    piccolo up...

    Forse dovrei assegnare un id ad ogni pagina che corrisponde all'id dell'utente? E' una soluzione errata? ....

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    nella stessa pagina del form controlla che ci sia la sessione dell'utente ossia

    session_start();
    if(isset($loginutente))
    {
    ---carichi un altra pagina oppure scrivi qui quello che deve fare
    }
    else
    {
    ----mostri il form-------------
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Innanzitutto grazie mille della risposta... ma non ridà qualcosa!
    Quel $loginutente sarebbe la variabile del form username che passo cos $username = $_POST['username']; ?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    no
    è la sessione dell'utente

    in una pagina a parte registri la sessione
    form.php


    /*qui metti il form dove passi $nick
    $passwd*/


    loginvalidator.php

    include "include/conf.inc.php"; /*impostazioni per l'accesso al db*/

    // Preleva informazioni utente
    $nick = $_POST['nick'];
    $passwd= $_POST['passwd'];





    $risultato=mysql_query("select * from users where nick='$nick';");
    // Controlla se le informazioni sono valide nel database
    $num_righe=mysql_num_rows($risultato);

    $utente=mysql_fetch_array($risultato);
    if ($num_righe)
    {
    if($passwd=='')
    {
    echo "<script language='javascript'>alert('Non è stata inserita la password');";
    echo "history.back()</script>";
    }
    else if($utente['passwd']==$passwd)
    {
    session_start();

    $_SESSION['passwd']=$utente["IDuser"];
    $_SESSION['nick']=$nick;


    echo "<script>self.location.replace(\"pagina.php\") ;</script>";/*per accedere alla pagina che desideri se ce la sessione dell'utente



    }
    else
    {
    echo "<script language='javascript'>alert('Password errata');";
    echo "history.back()</script>";
    }
    }
    else
    {
    if($nick=='')
    {
    echo "<script language='javascript'>alert('Non è stato inserito il nickname');";
    echo "history.back()</script>";
    }
    else
    {
    echo "<script language='javascript'>alert('Nickname errato');";
    echo "history.back()</script>";
    }
    }


    /************************************************** ***************************/
    /*infine in tutte le altre pagine controlli che esista la sessine dell'utente


    if(isset($_SESSION['nick']))
    {
    ----fai questo ----
    }
    else
    {
    --fAI QUEST'ALTRO----
    }
    */

    ?>

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.