Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Php, mantenere sessione di login

    Sera a tutti.
    Avrei un problema con php, mi spiego.

    Io ho una pagina riservata allo staff.

    Il form e' banale richiede solo utente e password.

    Ora, una volta inseriti i dati e cliccato sul bottone invia, lo script controlla se i dati son corretti, e fin qui tutto ok.
    Il problema sorge perche' quando l' utente si logga, ha un menu' personale fra i quali un indirizzamento alla webmail. come tutti i fedeli browser il popup viene bloccato,
    consento al popup di aprirsi, e qui nasce il problema.
    Dando il consenso al popup la pagina si aggiorna... e la sessione scade.
    Ovvero bisogna rieffettuare il login.

    ho gia provato con:
    Codice PHP:
    setcookie ("nome","valore"time() +700
    ma al refresh della pagina e' come se il cookie non esistesse.

    ho testato anche con:
    Codice PHP:
    session_start(); 
    ma nulla. Ora il problema e': "O sbaglio il codice (non avendo mai utilizzato ne session start ne setcookie)"
    o c'e' qualcos' altro da fare...
    Vi riporto la porzione di codice:
    Codice PHP:
    if ($_COOKIE == "ok"){
    echo 
    "sei gia loggato";
    }else{

    if ((
    $user == $team[1]) && ($passw == $pass[1])){
    setcookie ("piacere","ok",time() +700);
    echo 
    "Benvenuto Franco";
    }
    #poi ne vengono altri ma il test lo sto facendo su uno

    Codice PHP:

    $ute 
    $_SESSION['use'];
    if (
    strlen($ute) > 0){
    echo 
    "loggato";
    }else{
    if ((
    $user == $team[1]) && ($passw == $pass[1])){
    session_start();
    $_SESSION['use'] = $user;
    echo 
    "Benvenuto Franco";
    }
    #poi ne vengono altri ma il test lo sto facendo su uno

    Questo e' quanto a me servirebbe che al refresh della pagina l'utente rimanga loggato finche' non si clicca su logout o finche' non pasisno 20 minuti d' in'attivita'...

    Qualcuno saprebbe aiutarmi?
    Grazie anticipatamente delle risposte.

  2. #2
    la pagina che si apre in popup è in dominio differente?

  3. #3
    Grezie della risposta.
    Si e' l'indirizzo della webmail del sito

    esempio:

    http://miosito.it

    ho 20 caselle di posta

    la webmail e'

    http://mail.miosito.it

  4. #4
    Potresti provare invece di un popup a fare un comodo <a href="" target="_blank">

    La parte che ti dovrebbe interessare è il target.

  5. #5
    ho testato con il target cosa che non mi era venuta in mente... e funziona... il problema e' che comunque nel menu che andro' man mano a creare l' utente (uno in particolare)

    dovra poter muoversi fra pagina del sito senza doversi loggare ogni volta... e in molte occasioni la pagina eseguira' un refresh...

  6. #6
    Puoi usare le sessioni....

    SE usi tutte pagine .php all'inizio di ogni pagina metti session_start();

    Questo mantiene la sessione attiva (ha timeout standard di 60 minuti mi pare).

    Esistono però molti altri topic sulle sessioni già concluse dove puoi trovare le informazioni che cerchi.

  7. #7
    il codice su... ho provato le sessioni pero' non ho posto il
    Codice PHP:
    session_start(); 
    all' inizio del documento...
    e' per quello che non funziona?

  8. #8
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    spero di aver capito bene la dinamica della cosa, in ogni caso vedendo il codice pare che tu controlli il contenuto della sessione prima di averla inizializzata.
    Prova così


    Codice PHP:
    session_start();
    $ute $_SESSION['use'];

    if (
    strlen($ute) > 0){
    echo 
    "loggato";
    }else{
    if ((
    $user == $team[1]) && ($passw == $pass[1])){
    $_SESSION['use'] = $user;
    echo 
    "Benvenuto Franco";
    }

    Facci sapere.

  9. #9


    Anche cosi' aggiornando la pagina mi richiede il login'...

    Vi riporto l' intero codice:

    index.html:
    Codice PHP:

    html ecc ecc

    <iframe align="center" allowtransparency="true" border="0" src="/page/form.php" width="100%" height="400"></iframe
    Codice PHP:
    <?php



    echo "<html>\n<head>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/test.ale/style.css\"/>\n<SCRIPT type=\"text/javascript\" src=\"/test.ale/content.js\">\n</script>\n\n\n<body style=\"background:transparent\">";

    define ("errore_utente","Verifica il tuo utente");
    define ("errore_password","Verifica la password");



    function 
    generaForm($eut="",$eps=""){
    ?>

     <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="reserved">
    <table>
    <tr>
    <td><fieldset><legend style="color: #FFFFFF; font-size: 14px">Utente</legend><input type="text" class="inputype" name="usr" id="usr">

    <?php if (!$eut=="") { echo"<span style=\"color:#ff0000\">[b]$eut[/b]</span>";} else { echo"";}?></fieldset>

    </td></tr>
    <tr><td><fieldset><legend style="color: #FFFFFF; font-size: 14px">Password</legend><input class="inputype" type="password" name="pwd" id="pwd"></fieldset>

    <?php if (!$eps=="") { echo"<span style=\"color:#ff0000\">[b]$eps[/b]</span>";} else { echo"";}?></td>
    <td valign="center">&nbsp&nbsp&nbsp&nbsp<input type="submit" name="invia" value="Accedi"></td>
    </tr>
    </table>
    </form>
    <?php
    }

    function 
    controlla($stringa,$lunghezza){
       if (
    strlen($stringa)<$lunghezza){
          return 
    true;
       }
       else {
          return 
    false;
       }  
    }

    $ute $_SESSION['user'];
    if (
    strlen($ute) > 0){
    echo 
    "loggato";
    }

    else if (!isset(
    $_POST['invia'])){
    generaForm();

    }else{

    $user = isset ($_POST['usr']) ? stripslashes ($_POST['usr']) : "";
    $passw = isset ($_POST['pwd']) ? stripslashes ($_POST['pwd']) : "";

    $errore false;
    $eut "";
    $eps "";
    $team = array ("nome","nome","nome","nome","nome","nome","nome");

    $pass = array ("pass","pass","fpass","pass",);

    if ((
    controlla($user,1)) or ($user=="")) {
              
    $errore true;
              
    $eut errore_utente;

          }

    if ((
    controlla($passw,1)) or ($passw=="")) {
              
    $errore true;
              
    $eps errore_password;

          }

    if (
    $errore){
      
    generaForm($eut,$eps);
    }else{



    if ((
    $user == $team[0]) && ($passw == $pass[0])){

    session_start();
    $_SESSION['use'] = $user;
    echo 
    "benvenuta nome";
    <
    input type="submit" value="webmail" onclick="webmail();">

    }
    else if ((
    $user == $team[1]) && ($passw == $pass[1])){

    ?>
    <p class="app">Benvenuta Nome</p>
    <input type="submit" value="webmail" onclick="webmail();">


    <?php
    }
    else if ((
    $user == $team[2]) && ($passw == $pass[2])){

    ?>
    <p class="app">Benvenuta Nome</p>
    <input type="submit" value="webmail" onclick="webmail();">

    <?php

    }
    else if ((
    $user == $team[3]) && ($passw == $pass[3])){

    ?>
    <p class="app">Benvenuta nome</p>
    <input type="submit" value="webmail" onclick="webmail();">

    <?php
    }
    else if ((
    $user == $team[4]) && ($passw == $pass[3])){

    ?>
    <p class="app">Benvenuta Nome</p>
    <input type="submit" value="webmail" onclick="webmail();">

    <?php
    }
    else if ((
    $user == $team[5]) && ($passw == $pass[3])){

    ?>
    <p class="app">Benvenuta Nome</p>
    <input type="submit" value="webmail" onclick="webmail();">

    <?php
    }
    else if ((
    $user == $team[6]) && ($passw == $pass[3])){

    ?>
    <p class="app">Benvenuta Nome</p>
    <input type="submit" value="webmail" onclick="webmail();">

    <?php
    }else{
              
    $eut errore_utente;
              
    $eps errore_password;
      
    generaForm($eut,$eps);
    }
    }

    }

    echo 
    "</body></html>";
    ?>
    Dove la funzione webmail() e inclusa in content.js

    ed e':

    webmail (){
    window.open("mail.miosito.it","webmail");
    }

  10. #10
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Fammi capire una cosa,
    tu stai creando una sessione in miosito.it per poi cercare di accedervi da mail.miosito.it ?

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.