Unofficial WebSite X5
Categoria generale => Area Tecnica => Topic aperto da: tempesta6 - 10 Aprile, 2012, 19:10:29
-
Salve gente ho fatto un sito con incomedia website per la tesina di informatica di quest anno,tutto bene ma ho un problemone!
ho fatto correttamente la registrazione/login utente con creazione del database in php con easy php,ma come faccio a fare tipo le sessione?
cioè mi spiego meglio uno volta dopo che mi sono loggato vorrei avere un qualcosa nella mia home page del tipo
"Sei collegato come ****"
2)mi piacerebbe che una volta loggato scombarissa la mia caselllina del login!
grazieeee
-
Forse se ci fai vedere lo script che hai utilizzato qualcuno ti da una mano.
Comunque alla fine di tutti i controlli con un "if" e "location" rimandi l'utente loggato nella pagina che vuoi tu, poi se vuoi far comparire anche il nome utente dovrai utilizzare un "$_SESSION" richiamandolo tipo:
<?php
echo Benvenuto/a, $_SESSION['$nomeutente'] ;
?>
Chiaramente, la pagina che riceve il comando deve essere in php e deve avere aperte le sessioni all'inizio del codice HTML:
<php
session_start();
?>
Ciao.
Augusto.
-
Scusate se non ho messo il codice ma ero dal cellulare e non potevo! :-[
Grazie per la risposta...
Io credo che si debbano usare le sessioni ma non è argomento di quinta(i miei insegnanti hanno detto che non lo spiegano,ma voglio comunque imparare ad usarle..non si sa mai nel futuro!)
questo è il semplicissimo login:
(l html è solo un semplice codice)
[glow=red,2,300]
<?php
session_start();
$psw=$_POST["Psw"];
$usnm=$_POST["Username"];
include "collega_db.php";
$fatto=false;
$fatto2=false;
//Controllo username
$query = "SELECT User_name FROM utenti " ;
$result = mysql_query($query, $mysql);
while($contr=mysql_fetch_array($result))
if($contr['User_name']==$usnm) $fatto=true;
echo("<body background='fuoco.jpg' bgproperties='fixed'>");
echo("<font color='#ffffff'>");
//Controllo password
$query2 = "SELECT Password FROM utenti" ;
$result2 = mysql_query($query2, $mysql);
while($contr=mysql_fetch_array($result2))
if($contr['Password']==$psw) $fatto2=true;
if($fatto && $fatto2){
$_SESSION['Usnm']=$usnm;
$_SESSION['login'] = 'OK';
header("Refresh:1; URL=tesina2/index.php") ;
echo("<center>");
echo("<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
echo ("<h1>Benvenuto ".$usnm." </h1>"); //ok
//echo ("<p>Accedi al sito <a href='tesina2/index.php'>qui</a></p>");
}
if(!$fatto){
echo("<p> utente non presente nel database</p>");
echo("<p> Ripova il login <a href='login.html'>qui</a></p> ");
}
if(!$fatto2){
echo("password errata");
echo("<p> Ripova il login <a href='login.html'>qui</a></p> ");
}
echo("</center>");
echo("</font>");
echo("</body>");
mysql_close();
?>[/glow]
Io in pratica voglio solo una cosa molto semplice che una volta loggato veda da qualche parte nel mio sito che lo sono del tipo ad esempio in alto a destra una scritta di questo tipo:
Sei collegato come XXX
avete capito?
grazie mille!
-
Scusa ma hai fatto tutto tu questo script ?
Allora se è tutta farina del tuo sacco non dovrebbe essere difficile capire che se fai tutte le pagine php e apri in tutte le pagine le sessioni, come hai fatto con questa, poi dove vuoi far apparire la scritta metti:
Sei collegato come:
<php
echo $_SESSION['$usnm] ;
?>
e apparirà a video:
Sei collegato come:
Nomeutente.
Per quel che riguarda tutto il codice, non sono stato a guardare, per cui non ti sò dire se è scritto bene o no.
Ciao.
Augusto
-
Usare le sessioni è semplicissimo... è un array... come $_POST, $_GET, $_SERVER ecc...
Solo che mantiene i valori assegnati fino alla chiusura del browser o alla distruzione della sessione quindi ben si presta quando c'è la necessità di mantenere i valori navigando tra le pagine del sito.
Nella fattispecie, la soluzione al problema ce l'hai davanti agli occhi... guarda bene...
Edit: Augusto mi ha preceduto... comunque... più precisamente:
<?php
echo 'Sei collegato come '.$_SESSION['Usnm'];
?>
Per quanto riguarda il fatto di non far comparire il login se si è loggati... devi cercare il codice html responsabile e metterlo in un istruzione if
-
sisi ho fatto tutto io e spulciato qualcosa su internet(visto che non ce lo spiegano a scuola)
sapete dirmi su incomedia come fare a:
prima di loggarsi non sono disponibili alcune sezioni,e dopo loggarsi lo sono tutte
sapete come si fa?
grazie!
-
...prima di loggarsi non sono disponibili alcune sezioni,e dopo loggarsi lo sono tutte
sapete come si fa?
grazie!
Sempre con le sessioni e l'istruzione if, nelle pagine che non vuoi far vedere prima del login inserisci l'istruzione di controllo:
session_start();
if ($_SESSION[login] !=1)
header("Location:http://www.tuosito/paginadilogin");
?>
modifica la riga di comando:
$_SESSION['login'] = 'OK';
così:
$_SESSION['login']=1;
In questo modo le pagine "protette" reindirizzerando al login se non sei loggato.
Ciao.
Augusto.
P.S. X Tigrone, come l'ho scritto io va a capo, come l'hai scritto tu è tutto su una riga, ma sono corretti tutti e 2 o sbaglio ? ;)
Ciao.
Augusto.
-
Grazie ragazzi risolto!veramente grazie mille!
ora un'ultima domanda:
HO fatto il carrello acquisti con incomedia,come gli passo i dati utente senza ripeterli ogni volta?
nel senso una volta che un tizio si icrive al mio sito con dati vari e poi effettua il login,come passo questi dati direttamente al carrello senza farglieli reinserire ogni volta?
grazie!
-
HO fatto il carrello acquisti con incomedia,come gli passo i dati utente senza ripeterli ogni volta?
nel senso una volta che un tizio si icrive al mio sito con dati vari e poi effettua il login,come passo questi dati direttamente al carrello senza farglieli reinserire ogni volta?
grazie!
Con il carrello di WX è difficile farlo, devi utilizzare un DB e richiamare i dati da li.
Ciao.
Augusto.
-
@tempesta
Stai studiando o no???
E allora butta incomedia nel cesso e vai avanti a studiare che è meglio!!!!
@Augusto
Se scrivi:
Only registered users can see contents. Please click here to Register or Login.
a parte il fatto che ['$Usnm] è sbagliato... ma comunque non andrebbe a capo... teoricamente parlando; se poi infili il codice in website allora... la teoria cessa di esistere per far posto all'imponderabile! ;)
-
@tempesta
Stai studiando o no???
E allora butta incomedia nel cesso e vai avanti a studiare che è meglio!!!!
@Augusto
Se scrivi:
Only registered users can see contents. Please click here to Register or Login.
a parte il fatto che ['$Usnm] è sbagliato... ma comunque non andrebbe a capo... teoricamente parlando; se poi infili il codice in website allora... la teoria cessa di esistere per far posto all'imponderabile! ;)
Hai ragioneeeeeeeeee :-[ non avevo fatto caso al ' mancante, e per andare a capo <br />, quindi:
<php
echo 'Sei collegato come:<br />' $_SESSION['$usnm'] ;
?>
Comunque hai ragione, ho il brutto vizio di scrivere codice semplificato con EVO e se ci lavoro più di un giorno poi faccio fatica a ricordarmi il codice giusto, devo prendere l'abitudine di scrivere sempre il codice "VERO" per non perdere l'abitudine. ;)
Ciao.
Augusto.
-
Augusto.... ancora sbagli... :lol:
$_SESSION è un array............
E il punto di concatenazione???
E quello di domanda??? ;D
-
:-[ :-[ :-[ :-[ :-[
Non per giustificarmi, ma guarda l'ora e stavo facendo 3 cose insieme, comunque questi sbagli non si dovrebbero fare.
Lascia perdere l'apertura del codice PHP, ma il punto di concatenazione... >:D rimetto un'apice mancante e mi scordo il punto.
E' l'età è l'età, da una parte fa bene a tempesta6, così vede quello che non si deve fare. :lol: :lol: :lol:
Ciao.
Augusto.
-
Augustoooo.... ::)
Passi la dimenticanza del punto, apice ecc... sai quante volte capita anche a me... e non ti dico quando sbaglio le graffe! ???
Pensa che bello... magari in uno script da 1000 righe... quando php ti da errore all'ultima riga e la graffa sbagliata si trova a metà listato!!! :-\
Comunque... mettere il valore al posto della chiave è un errore grave! ;)
-
Comunque... mettere il valore al posto della chiave è un errore grave! ;)
E c'hai ragione c'hai, lasciate questo topic sempre bene in vista per far capire quanto è facile sbagliare e risbagliare.
Non ho parole, e poi c'è da dire che l'ho ricontrollato per capire dove avevo sbagliato, ma niente non l'avevo proprio notato. :-X
Grazie Tigro... mi fa, bene ogni tanto, qualche scappellotto. :lol:
Ciao.
Augusto.