Autore Topic: Aiuto Tesina  (Letto 5634 volte)

tempesta6

  • Nuovo arrivato
  • *
  • Post: 4
Aiuto Tesina
« il: 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

StratoS

  • Anziani
  • Utente inesperto
  • *
  • Post: 118
Re:Aiuto Tesina
« Risposta #1 il: 10 Aprile, 2012, 22:30:01 »
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.

tempesta6

  • Nuovo arrivato
  • *
  • Post: 4
Re:Aiuto Tesina
« Risposta #2 il: 10 Aprile, 2012, 23:20:55 »
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!

StratoS

  • Anziani
  • Utente inesperto
  • *
  • Post: 118
Re:Aiuto Tesina
« Risposta #3 il: 10 Aprile, 2012, 23:44:28 »
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

tigrone

  • Anziani
  • Utente esperto
  • *
  • Post: 322
    • tuoweb
Re:Aiuto Tesina
« Risposta #4 il: 10 Aprile, 2012, 23:49:42 »
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
« Ultima modifica: 10 Aprile, 2012, 23:53:29 da tigrone »

tempesta6

  • Nuovo arrivato
  • *
  • Post: 4
Re:Aiuto Tesina
« Risposta #5 il: 11 Aprile, 2012, 12:20:35 »
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!

StratoS

  • Anziani
  • Utente inesperto
  • *
  • Post: 118
Re:Aiuto Tesina
« Risposta #6 il: 11 Aprile, 2012, 14:06:30 »
...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.

tempesta6

  • Nuovo arrivato
  • *
  • Post: 4
Re:Aiuto Tesina
« Risposta #7 il: 11 Aprile, 2012, 20:18:34 »
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!

StratoS

  • Anziani
  • Utente inesperto
  • *
  • Post: 118
Re:Aiuto Tesina
« Risposta #8 il: 11 Aprile, 2012, 22:26:51 »
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.

tigrone

  • Anziani
  • Utente esperto
  • *
  • Post: 322
    • tuoweb
Re:Aiuto Tesina
« Risposta #9 il: 12 Aprile, 2012, 00:56:52 »
@tempesta
Stai studiando o no???
E allora butta incomedia nel cesso e vai avanti a studiare che è meglio!!!!


@Augusto
Se scrivi:

Codice:
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! ;) 

StratoS

  • Anziani
  • Utente inesperto
  • *
  • Post: 118
Re:Aiuto Tesina
« Risposta #10 il: 12 Aprile, 2012, 01:18:26 »
@tempesta
Stai studiando o no???
E allora butta incomedia nel cesso e vai avanti a studiare che è meglio!!!!


@Augusto
Se scrivi:

Codice:
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.
« Ultima modifica: 12 Aprile, 2012, 01:29:20 da StratoS »

tigrone

  • Anziani
  • Utente esperto
  • *
  • Post: 322
    • tuoweb
Re:Aiuto Tesina
« Risposta #11 il: 12 Aprile, 2012, 02:25:54 »
Augusto.... ancora sbagli...  :lol:


$_SESSION è un array............


E il punto di concatenazione???


E quello di domanda???  ;D
« Ultima modifica: 12 Aprile, 2012, 02:30:59 da tigrone »

StratoS

  • Anziani
  • Utente inesperto
  • *
  • Post: 118
Re:Aiuto Tesina
« Risposta #12 il: 12 Aprile, 2012, 12:33:50 »
 :-[ :-[ :-[ :-[ :-[
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.

tigrone

  • Anziani
  • Utente esperto
  • *
  • Post: 322
    • tuoweb
Re:Aiuto Tesina
« Risposta #13 il: 12 Aprile, 2012, 23:01:51 »
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! ;)

StratoS

  • Anziani
  • Utente inesperto
  • *
  • Post: 118
Re:Aiuto Tesina
« Risposta #14 il: 13 Aprile, 2012, 01:46:12 »
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.