- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema con login e redirect
-
[php]
<?php
session_name('tzLogin');
session_set_cookie_params(27246060);
session_start();
if(isset($_SESSION['id']))
{header("Refresh: 5; URL=misterbarone.de/test1/ers/index.php"); exit;
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "............w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="...............w3.org/1999/xhtml"><head>
<meta .........-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Solo utenti registrati! | misterbarone login</title><link rel="stylesheet" type="text/css" href="demo.css" media="screen" />
</head>
<body>
<div class="container"> <?php
if(isset($_SESSION['id']))
echo $varaibile_con_nome_utente;
else
echo '<h1>Prego, <a href="demo.php">login</a> e tornare più tardi!</h1>';
?>
</div></body>
</html>[/php]BIsogna vedere dove hai il nome utente, se lo hai in una variabile di sesion è sufficiente fare un echo di quella variabile, se invece hai solo l'id nella varaibile di sessione devi fare una query nella pagina di destinazione per recuperarti il nome utente.
-
Ok grazie per la tua pazienza .
Vediamo se ho capito ( un problema per volta ) lo script originale era cosi :[PHP] <?php
if($_SESSION['id'])
echo 'Benvenuto, '.$_SESSION['usr'].'! Ti sei registrato e loggato nell´area utenti registrati!';
else echo '<h1>Prego, <a href="demo.php">login</a> e tornare più tardi!</h1>';
?>
</div>[/PHP]
ora io ho fatto cosi :[PHP]<div class="container">
<?php
if(isset($_SESSION['id']))
echo 'Benvenuto, '.$_SESSION['usr'].'!Ti sei registrato e loggato nell´area utenti registrati!';
else
echo '<h1>Prego, <a href="demo.php">login</a> e tornare più tardi!</h1>';
?>
</div>[/PHP] ho capito bene o c´e qualcosa di sbagliato?? perche cosi non va.
-
Cosa significa non và? Non ti mostra il nick? E' un pò troppo generica come domanda per capire il problema.
-
Certo scusami mannaggia alla fretta !!.
Il redirect temporizzato funziona ma non mostra niente ( il Benvenuto_nome_utente) nel frattempo.
-
Prova togliendo la funzione exit.
-
Ciao scusami per il silenzio prolungato un black-out in mezza cittá......fin ora senza corrente!!!.
Pefetto adesso va che é una meriaviglia.
Passiamo all´altro problema ? e cioe come faccio a far apparire il nome dell ´utente loggato nella pagina di destinazione ?? ; ma qui mi dovresti come si suol dire portare con la mano.
Perche la funzione va creata da zero se ho capito bene.
-
Se hai il nome utente nella variabile $_SESSION['usr'] come hai detto prima, è sufficiente fare un:
[php]<?php echo $_SESSION['usr']; ?>[/php]
-
OK grazie .
Stasera ci provo ora sto lavorando.
caio
-
Grande!!.
Va una meraviglia grazie veramente bravo.Ora ti pongo la prossima domanda , ma caso mai ritieni che devo aprire un post nuovo perche mi sto prolungando troppo lo faró subito.
:?Il Problema : ora io con questo sistema di login posso fare in modo che se un utente apre una pagina senza loggarsi esce soltanto l ínvito a loggarsi oppure registrarsi , mentre invece se si é loggato la stessa pagina si apre con tutti i contenuti e logicamente il benvenuto utente ?
Non so se sono stato chiaro e ripeto se ritieni che devo aprire un altro post non c´e problema.
N.B. comunque devo dire che sei stato molto gentile ; elementare nelle spiegazioni tanto da far capire anche ad un capoccione come me.
-
Ciao Detarkita .
Lo so che tu hai molti quesiti a cui rispondere , volevo soltanto chiederti : non hai avuto tempo per guardare la mia richiesta ? .
Devo aprire un nuovo post ; non posso fare una richiesta come la mia ?? .
Dimmi tu .
Ok ciao
-
Ciao misterbarone,
un pò di pazienza che rispondo a tutti, pian piano.
Per far cambiare il contenuto della pagina in base allo stato dell'utente loggato/non loggato è sufficiente fare cosi:
[php]
<?php
if(isset($_SESSION['id']))
echo 'CODICE HTML PER UTENTE LOGGATO';
else
echo 'CODICE HTML PER UTENTE NON LOGGATO';
?>
[/php]Per il thread finchè la discussioni rimane attinente possiamo continuare qui, se invece l'argomento cambia è meglio aprire un thread apposito.
-
Ciao Thedarkita .
Hai ragione scusami per l´impazienza .Tornando alla mia ultima domanda ; siccome non ci ho capito molto , sei cosi gentile da inserirmi tu il codice appropriato in questa pagina di esempio cosi sapró bene cosa e come fare per tutte le altre pagine da proteggere ? .
Pagina Esempio :
[php]<?phpsession_name('tzLogin');
session_set_cookie_params(27246060);
session_start();
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "........w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=".........w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registered users only! | Tutorialzine demo</title><link rel="stylesheet" type="text/css" href="demo.css" media="screen" />
</head>
<body>
<div id="main">
<div class="container">
<h1>Soltanto per utenti registrati!</h1>
<h2>Login per vedere questa risorsa!</h2>
</div><div class="container"> <?php if($_SESSION['id']) echo '<h1>Benvenuto, '.$_SESSION['usr'].'! Ti sei registrato e loggato nell´area utenti registrati!</h1>'; else echo '<h1>Prego, <a href="demo.php">login</a> e tornare più tardi!</h1>'; ?> </div>
<div class="container tutorial-info">
Questo é un sistema di login prelevato dalla rete e modificato per e da il sito di misterbarone :<a href="........misterbarone.eu/" target="_blank">qui un altro sito di misterbarone</a>, e qui un altro : <a href=".........misterbarone.org/" target="_blank">sito 3</a>. </div>
</div></body>
</html>[/php] .
in attesa di una tua risposta ciao e ancora bravo
-
Devi fare una cosa di questo tipo:
[php]<?phpsession_name('tzLogin');
session_set_cookie_params(27246060);
session_start();
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "........w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=".........w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Registered users only! | Tutorialzine demo</title><link rel="stylesheet" type="text/css" href="demo.css" media="screen" />
</head>
<body>
<div id="main">
<div class="container">
<h1>Soltanto per utenti registrati!</h1>
<h2>Login per vedere questa risorsa!</h2>
</div><div class="container">
<?php
if(isset($_SESSION['id']))
echo 'CODICE HTML PER UTENTE LOGGATO';
else
echo 'CODICE HTML PER UTENTE NON LOGGATO';
?>
</div><div class="container tutorial-info">
Questo é un sistema di login prelevato dalla rete e modificato per e da il sito di misterbarone :<a href="........misterbarone.eu/" target="_blank">qui un altro sito di misterbarone</a>, e qui un altro : <a href=".........misterbarone.org/" target="_blank">sito 3</a>. </div>
</div></body>
</html>[/php]
-
Ciao
:oOk ora credo di aver capito la strada ...... almeno l´inizio , quindi ci provo ;
vado un po fuori di :bho: da solo per vedere se riesco a combinare qualcosa .Soltanto una domanda oltre al codice HTML posso usare anche ( Non so se é il termine esatto ) codice flash ??
ciao
-
Ciao Thedarkita .
Ok la tua soluzione funziona bene , ma devo essere io ad essermi spiegato male ; ora ti spiego meglio : la tua soluzione permette di inserire codice html come testo e come link di riferimento e se non sei loggato la stessa cosa .
Ma io intendevo proteggere la pagina intera intera nel senso che se clicchi su un dato link ad esempio :..........misterbarone.de/galleria........ senza loggarti allora si deve aprire : misterbarone.de/galleria.........ma soltanto con la richiesta di fare il login e magari con il testo : solo per utenti registrati mentre se invece clicchi sul link :......misterbarone.de/galleria......... da loggato allora si apre: misterbarone.de/galleria con i tutti i suoi contenuti .
Lo so forse la spiegazione é un po cervellotica , faccio un esempio come faccio a proteggere questa pagina in modo che sia visibile solo all´utente loggato , anche se uno usa il link diretto ??
Lo so che forse la pagina é da convertire in PHP .
[html]<html xmlns="....w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Galleria Fotografica Personale Ersilia</title>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="....flepstudio.org/Scripts/AC_RunActiveContent.js" language="javascript"></script>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #003399;
}
-->
</style></head>
<body>
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="javascript">
if (AC_FL_RunContent == 0) {
alert("This page requires AC_RunActiveContent.js.");
} else {
AC_FL_RunContent( 'codebase','...macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','100%','height','100%','id','main','align','middle','src','main','quality','high','scale','noscale','salign','lt','bgcolor','#ffffff','name','main','allowscriptaccess','sameDomain','allowfullscreen','false','pluginspage','...//....macromedia.com/go/getflashplayer','movie','main' ); //end AC code
}
</script>
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="....macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="100%" height="100%" id="main" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="main.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="lt" /><param name="bgcolor" value="#ffffff" /> <embed src="main.swf" quality="high" scale="noscale" salign="lt" bgcolor="#ffffff" width="100%" height="100%" name="main" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="?.com/go/getflashplayer" />
</object>
</noscript>
</body>
</html>
[/html]
ok questo é quello che intendevo......spero sia comprensibile .
aspetto uan tua risposta Ciao
-
Puoi fare il controllo sull'intera pagina...
[php]
<?php
session_name('tzLogin');
session_set_cookie_params(27246060);
session_start();
if($_SESSION['id'])
echo 'CODICE PAGINA LOGGATO';
else
echo 'CODICE PAGINA PER NON LOGGATO';
?>
[/php]
Dove codice pagina loggatto, è l'intero codice html della pagina.
Ti consiglio comunque di leggere una guida almeno base di php per capire i meccanismi base su come fare certi tipi di controlli.
-
Ciao Thedarkita .
Certo hai ragione studiare PHP un po piu a fondo , e lo faró .
Ma al controllo della pagina intera ci ero arrivato anche io come mi hai postato tu il codice :[php] <?php
session_name('tzLogin');
session_set_cookie_params(27246060);
session_start();
if($_SESSION['id'])
echo 'CODICE PAGINA LOGGATO';
else
echo 'CODICE PAGINA PER NON LOGGATO';
?> [/php]e con altre pagine va benissimo .Il punto é che solo questa pagina da problemi (cioe quella che ti ho postato da esempio ) perché ( vedi io studio un po il codice e cerco di capire ) , dicevo perche questa ha pagina ha questo codice dentro : [html]<body>
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<script language="javascript">
if (AC_FL_RunContent == 0) {
alert("This page requires AC_RunActiveContent.js.");
} else {
AC_FL_RunContent( 'codebase','.......macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0','width','100%','height','100%','id','main','align','middle','src','main','quality','high','scale','noscale','salign','lt','bgcolor','#ffffff','name','main','allowscriptaccess','sameDomain','allowfullscreen','false','pluginspage',..//....macromedia.com/go/getflashplayer','movie','main' ); //end AC code
}
</script>
<noscript>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="....download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="100%" height="100%" id="main" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="main.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="lt" /><param name="bgcolor" value="#ffffff" /> <embed src="main.swf" quality="high" scale="noscale" salign="lt" bgcolor="#ffffff" width="100%" height="100%" name="main" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage=".....macromedia.com/go/getflashplayer" />
</object>
</noscript>
</body>[/html]e logicamente quella ELSE in piu blocca tutto lo script di login ( almeno credo dai test che ho fatto ) ed é quindi qui che mi blocco perche non so come risolvere il problema .
vedi quella é la pagina che piu mi importa di proteggere perche ci sono foto familiari sopra.Questo é l´unico problema che ancora ho e non so risolvere , soltanto tu mi puoi aiutare .
ciao e grazie
-
Ciao Thedarkita .
Hai avuto modo di dare un occhiata alla mia ultima domanda ? .
Sai non vorrei dover cambiare tutta la galleria per quel cav... di javascript con quell ELSE dentro che disturba lo script di login .
Pensi che ci sia una soluzione possibile?
Ciao e buon fine settimana
-
Ciao Thedarkita .
Vdeo che non hai ancora avuto tempo di guardare la mia ultima domanda .
Lo so che hai tanto da fare , ma da solo non so andare avanti ; dover cancellare tutto il lavoro fatto e tutto il disturbo che ti ho dato per far funzionare lo script di login come si deve.
Sarebbe davvero un peccato ; solo tu che adesso conosci tutto il lavoro fatto , puoi aiutarmi ancora .Ripostare il tutto in un altro forum o magari aprire un post nuovo in questo ; no dai non farmi fare di nuovo tutta la trafila .:x
Aspetto una tua risposta .
Ciao
-
Non capisco cosa intendi per "si blocca lo script".
Posta il codice che hai utilizzato per intero, ed anche eventuali messaggi di errori ottenuti, altrimenti difficilemente riesco a capire il problema.