Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    escludere parte di codice dalla pagina

    Salve ragazzi mi servirebbe un aiuto se è possibile,è una sulla quale stò sbattendo la testa,e sono sicuro che basta poco per risolvere il problema,ma visto che sono "molto" nuovo con php non sò come rimediare...
    Allora il problema è questo:
    Ho una pagina index.php dove nelle prime righe includo una pagina .php(tramite include" ") che contiene questo codice:
    <?php
    $spazio=" ";

    if (!isset($visualizza))
    {

    include "top_front.html";
    include "pannello_accesso.html";
    include "menu/menu_front/menu_front.php";
    }

    if(isset($_POST['Submit']))
    {
    include "parametri_connessione.php";
    $mysql=mysql_connect($host,$user,$password);
    include("controllo_connessione.php");
    include("ricercadb.php");

    if(($_POST['user']) && ($_POST['pwd']))
    {
    $query = "select nome,cognome,user,password,tipo from utenti WHERE user = '$_POST[user]' AND password = '$_POST[pwd]'";
    $risultato = mysql_query($query);
    $num = mysql_num_rows($risultato);

    if($num>0)
    {
    session_start();
    $_SESSION['loggato'] = true;
    $_SESSION['userid'] = $_POST['user'];
    $_SESSION['password'] = $_POST['pwd'];
    $dati=mysql_fetch_assoc($risultato);
    $_SESSION['tipo']=$dati['tipo'];
    $_SESSION['nome']=$dati['nome'];
    $_SESSION['cognome']=$dati['cognome'];
    if (($_SESSION['loggato']==true) && ($_SESSION['tipo']=='user'))
    {

    include "top_front.html";
    echo "Benvenuto: ".$_SESSION['nome']." ".$_SESSION['cognome'];
    include "pannello_accesso.html";
    include "menu/menu_front/menu_front.php";
    $visualizza='disattiva';
    }
    if (($_SESSION['loggato']==true) && ($_SESSION['tipo']=='admin'))
    {

    include "top_back.html";
    echo "[b]Bentornato Amministratore: ".$spazio.$_SESSION['nome'].$spazio;
    echo " Se non sei tu".$spazio.$spazio?><td><font color="red" size="3">Logout</font></td><?php
    include "pannello_accesso.html";
    include "menu/menu_back/menu_back.php";
    $visualizza='disattiva';

    }
    }
    else
    {
    ?><script> alert("Accesso Negato!!!");</script> <?php

    }

    }
    }
    ?>

    dove l'include di accesso.html mi richiama il codice html con i form che mi servono per l'immissione di user e password,il problema è questo,la parte di codice alle prime righe:
    if (!isset($visualizza))
    {

    include "top_front.html";
    include "pannello_accesso.html";
    include "menu_front.php";
    }
    mi serve per includere queste 3 parti di codice fin quando l'utente non si logga,perchè quando è loggato io poi le richiamo nei 2 if dopo l'apertura della sessiione,e quindi la prima parte di codice non me la dovrebbe eseguire più,ed invece lo fà,e mi ritrovo 2 volte lo stesso codice,ho provato anche mettendo un refresh della pagina ,un header('locator') ma niente,esegue sempre il codice nell'if che io ho escluso con ( $visualizza='disattiva'; ) ,come dovrei fare per risolvere questo intreccio?Sono accetti anche consigli su altri fronti come l'impostazione delle sessioni e altro,grazie mille......
    un saluto a tutti

  2. #2
    Nessuno riesce a darmi una mano?

  3. #3
    Andiamo raggazzi!!Penso che ci si possa fare con il vostro aiuto....

  4. #4
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    scusami ma questo che vuol dire?

    Codice PHP:
    if(($_POST['user']) && ($_POST['pwd'])) 

  5. #5
    Grazie per aver dato un'occhiata ispuk,scusami ma quella parte di codice l'ho copiata
    forse ci manca l'isset ???
    tipo così?
    if((isset($_POST['user'])) && (isset($_POST['pwd'])))

    Comunque ha lo scopo di eseguire il codice sottostante solo se ho valori provenienti dal form ddi inserimento dati,quindi non esegue nessuna query nel caso non siano riempiti entrambi i campi dei 2 input text contenuti nel file accesso.html con nome,se ci sono valori continua con select e cose varie...

  6. #6
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ma adesso funziona il codice?

    non puoi eseguire uno switch su $utente_loggato

    in modo tale che se l'utente coincide quindi è loggato quindi appare la parte di codice che vuoi

    in caso contrario non fai apparire il codice


    anche se non ho ben chiatro il tuo problema

  7. #7
    Tutt'ok ispuk,alla fine lo sapevo che era una stron**ta,infatti non dovevo fare altro che,questa parte di codice(che era contenuta nella pagina con il codice che ti ho postato la prima volta(chiamata gestione.php)):
    if (!isset($visualizza))
    {
    include "top_front.html";
    include "pannello_accesso.html";
    include "menu/menu_front/menu_front.php";
    }

    passarla nell'index e metterla dopo di essermi richiamato la pagina gestione.php (contenente il codice che ti ho postato la prima volta,te lo ripeto così capisci megli a cosa mi riferisco)
    e scrivendola così:

    if(!isset($_SESSION['userid']))
    {
    echo "Non loggato";
    echo "
    ";
    include "top_front.html";
    include "pannello_accesso.html";
    include "menu/menu_front/menu_front.php";
    }
    senza variabili intermedie perchè non mi servono più ora
    praticamente il problema era questo:
    come era impostato prima il codice(e quindi come te l'avevo postato la prima volta),finchè non ero autenticato lui mi eseguiva solo la parte nell'if(!isset($_SESSION['userid'])),quindi mi dava una pagina con la scritta "non loggato",, il top.front(immagine per abbellimento sito in una tabella),il pannello_accesso (tabella rettangolare con i 2 form per l'autenticazione)e il menu;;; Ma quando mi loggavo,dopo di queste 3 parti di codice mi ci aggiungeva quelle dell'if (($_SESSION['loggato']==true) && ($_SESSION['tipo']=='user')),e quindi me le ritrovavo ripetute,anche se ne l codice del rigo sopra mettevo il refresh della pagina,io è questo che non capivo,se aggiorno la pagina,ho che la variabile $_SESSION['userid'] ha un valore(perchè mi sono loggato)e quindi dovrebbe escludere questa parte di codice e eseguirmi solo quella che ho nel if (($_SESSION['loggato']==true) && ($_SESSION['tipo']=='user'))...Invece nooo..
    facendo così invece,la chiave per capire la cosa stà nel modo in cui viene processato il codice di gestione.php e messo nella pagina html di index...praticamente se ho capito ben,su questo stò chiedendo conferma,,,nella pagina index.php la visualizza,e tutto quello che viene fuori dal codice contenuto nell'include non và a rimuovere quello che già ho nella pagina visualizzata,ma lo accoda,anche se metto un refresh....invece prosponendo le parti di codice nell'index.php ho il risultato voluto...Non sò se la come l'ho spiegato io è giusto,ma così penso si a stata la cosa,poi sono nuovo del php,e quindi ho i miei dubbi......però meno male stavo impazzendo,o alla fine sno impazzito per risolvere questo problema.......bah!!!
    comunque grazie del tentativo di aiuto...

  8. #8
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ah ok,vedi che chi fa da se fa per tre!!!

    ma allora mi chiedo "e chi fa per tre fa per 6 o per se?"

    ciao

  9. #9
    puoi fare da te,e ti ritrovi a far per 3,ma non puoi far per tre,perchè non ti ritrovi a far te,ma fai per un pò di tutti 3,quindi chissààààààààà.....sempre il solito bah!!!! Ti diròòòòò!!!!

  10. #10
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ahahaha grande!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.