Schermata login su pagina web

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

Codice: Seleziona tutto

cannot select DB
questo significa che non hai impostato il db nella connessione oppure ti sei connesso e punti ad un database che non esiste oppure non hai i permessi per accedere al DB. Verifica anche le maiusocle e minuscole.
Ma tu usi un prodotto per gestire il db? se non lo fai prova a utilizzare mysqlquerybrowser (lo trovi nei repository), SQLyog, lo scarichi da google e parte con wine, phpmyadmin (che pero' non ti fa impostare foreign keys). Con questi prodotti crei database, tabelle, utenti, query e testi le connessioni con vari utenti e db. Se ti connetti significa che puoi utilizzare quei valori anche da linguaggi di scripting.
Pero' ora sembra che ti sia connesso.....
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

Uff!non riesco proprio a farlo dialogare!mi sa che mi tocca cambiare metodo o non concludo niente
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

swimmerino88 ha scritto: Uff!non riesco proprio a farlo dialogare!mi sa che mi tocca cambiare metodo o non concludo niente
dai che lo facciamo funzionare. Posta nuovamente tutto il codice attuale.
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

prampa ha scritto:
swimmerino88 ha scritto: Uff!non riesco proprio a farlo dialogare!mi sa che mi tocca cambiare metodo o non concludo niente
dai che lo facciamo funzionare. Posta nuovamente tutto il codice attuale.
sarebbe meglio fare a meno del database sinceramente...perchè la pagina web sarà ospitata da altervista e non posso mica creare un server da loro!quindi pensavo boh...fare qualcosa con php e un file di testo solo che non l'ho mai fatto!quello che stavo provando prima almeno avevo un'idea su cosa fare invece con il file di testo no!e il bello è che per la prox settimana dovrebbe essere tutto pronto! (rotfl)si può fare?e come?grazie!
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

swimmerino88 ha scritto:
prampa ha scritto:
swimmerino88 ha scritto: Uff!non riesco proprio a farlo dialogare!mi sa che mi tocca cambiare metodo o non concludo niente
dai che lo facciamo funzionare. Posta nuovamente tutto il codice attuale.
sarebbe meglio fare a meno del database sinceramente...perchè la pagina web sarà ospitata da altervista e non posso mica creare un server da loro!quindi pensavo boh...fare qualcosa con php e un file di testo solo che non l'ho mai fatto!quello che stavo provando prima almeno avevo un'idea su cosa fare invece con il file di testo no!e il bello è che per la prox settimana dovrebbe essere tutto pronto! (rotfl)si può fare?e come?grazie!

ti posto un file php per il parse di un documento xml che usi al posto del database. Lo faccio e lo posto.
ciao

EDIT: comunque se ti servisse per altre volte c'e' sqlite che è un database che non necessita di installazione: e' tipo access e ci si connette tramite path.
Ultima modifica di prampa il lunedì 28 maggio 2007, 20:45, modificato 1 volta in totale.
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

prampa ha scritto:
swimmerino88 ha scritto:
prampa ha scritto:
swimmerino88 ha scritto: Uff!non riesco proprio a farlo dialogare!mi sa che mi tocca cambiare metodo o non concludo niente
dai che lo facciamo funzionare. Posta nuovamente tutto il codice attuale.
sarebbe meglio fare a meno del database sinceramente...perchè la pagina web sarà ospitata da altervista e non posso mica creare un server da loro!quindi pensavo boh...fare qualcosa con php e un file di testo solo che non l'ho mai fatto!quello che stavo provando prima almeno avevo un'idea su cosa fare invece con il file di testo no!e il bello è che per la prox settimana dovrebbe essere tutto pronto! (rotfl)si può fare?e come?grazie!

ti posto un file php per il parse di un documento xml che usi al posto del database. Lo faccio e lo posto.
ciao

EDIT: comunque se ti servisse per altre volte c'e' sqlite che è un database che non necessita di installazione: e' tipo access e ci si connette tramite path.
grazie mille!sei il mio angelo/a!quindi alla fine di che files avrò bisogno alla fine?dove metterò il mio account e password(cioè in che file)?
ovviamente i files che mi dirai che saranno necessari li metterò nel server web che mi hanno dato giusto?
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

in allegato ci sono due file: 1 con il documento xml e l'altro il php che legge il documento xml e visualizza lo username e la password. Se entrambi li metti in una cartella sotto /var/www oppure dove hai la documentRoot, ed esegui il file php ti vengono visualizzati lo user e la password. La parte di php che accede a db.xml e ritorna user e psw lo copi dentro a checklogin.php per la sola parte che accede al db. Nel file db.xml imposti lo user e la psw che piu' ti piace, lo salvi e riparti. Per ora sono impostati con admin e admin. In pratica tutta questa parte serve per verificare user e password senza accedere al db, quindi sostituisce solo quella parte la'...
ciao
Allegati
xml.tar
(10 KiB) Scaricato 34 volte
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

prampa ha scritto: in allegato ci sono due file: 1 con il documento xml e l'altro il php che legge il documento xml e visualizza lo username e la password. Se entrambi li metti in una cartella sotto /var/www oppure dove hai la documentRoot, ed esegui il file php ti vengono visualizzati lo user e la password. La parte di php che accede a db.xml e ritorna user e psw lo copi dentro a checklogin.php per la sola parte che accede al db. Nel file db.xml imposti lo user e la psw che piu' ti piace, lo salvi e riparti. Per ora sono impostati con admin e admin. In pratica tutta questa parte serve per verificare user e password senza accedere al db, quindi sostituisce solo quella parte la'...
ciao
grazie mille adesso mi leggo tutti i file per capire ciò che hai fatto!poi ti dico se funziona  (good)
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

se pero' ti incasini e ti serve solo per verificare l'accesso e sei sicuro che il webserver sia apache (con IIS non funziona), puoi utilizzare il metodo suggerito all'inizio da miguelx. Che è un ottimo modo per autenticarsi su webserver quando gli utenti sono pochi e se ne aggiungono di nuovi di rado.
ciao
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

prampa ha scritto: se pero' ti incasini e ti serve solo per verificare l'accesso e sei sicuro che il webserver sia apache (con IIS non funziona), puoi utilizzare il metodo suggerito all'inizio da miguelx. Che è un ottimo modo per autenticarsi su webserver quando gli utenti sono pochi e se ne aggiungono di nuovi di rado.
ciao
Mi sono perso!
allora ricapitoliamo(mamma quanto è difficile capirsi quando la gente non è davanti a te!):

Codice: Seleziona tutto

<users>
	<user>
        <name>admin</name>
        <password>admin</password>
    </user>
</users>
in questo file metto la mia password e fin qua ci sono!
dopo non ho capito la configurazione che devo fare fra checklogin.php:

Codice: Seleziona tutto

<?php
      $host="localhost"; // Hostname
      $username=""; // Mysql username
      $password=""; // Mysql password
      $db_name="gestione_login"; //Nome del Database
      $tbl_name="members"; // Nome della Tabella       
      // Procedimento per connettersi al Database
      mysql_connect("$host", "$username", "$password")or die("cannot connect");
      mysql_select_db("$db_name")or die("cannot select DB");
      // Nome utente e password inviate attraverso il form
      $myusername=$_POST['myusername'];
      $mypassword=$_POST['mypassword'];       
      $sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
      $result=mysql_query($sql);
      // Mysql_num_row is counting table row
      $count=mysql_num_rows($result);
      // If result matched $myusername and $mypassword, table row must be 1 row       
      if($count==1){
      // Register $myusername, $mypassword and redirect to file "login_success.php"
      session_register("myusername");
      session_register("mypassword");
      header("location:login_success.php");
      }
      else {
      echo "Attenzione username o password errati";
      }
?>
cos'è che devo togliere qua?perchè qua avevo il database che ora non ho più!
Mentre questo è chelogin2.php:

Codice: Seleziona tutto

<?php
		if (file_exists('db.xml')) {
	   		$xml = simplexml_load_file('db.xml');
            foreach ($xml->user as $driver) {
				echo "nome = " . $driver->name;
				echo " password = " .  $driver->password;
    		}
		}
?>
grazie infinitamente!ma non ho capito cosa fare  >:(
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

non l'ho provato e quindi potrebbe darti errore ma e' per farti capire

Codice: Seleziona tutto

<?php

       $myusername=$_POST['myusername'];
       $mypassword=$_POST['mypassword'];       

        if (file_exists('db.xml')) {
	   		$xml = simplexml_load_file('db.xml');
            foreach ($xml->user as $driver) {
				if ( $driver->name = $myusername && $driver->password = $mypassword) {
                  session_register("myusername");
                  session_register("mypassword");
                  header("location:login_success.php");
        		}
               else {
                  echo "Attenzione username o password errati";
               }
    		}
		}
?>
conta che questo e' un esempio molto banale. Poi potrai farlo meglio (per esempio ora legge tutti i nodi user e segnala l'errore ogni volta che trova valori diversi da quelli impostati in maschera:per ora non e' un problema,tanto avrai un solo utente), aggiungerai una classe per accedere al'xml e restituire un oggetto con utente e password, oppure vero/falso. In quella classe, anche se non proprio in quella ma all'inizio va bene anche in quella, potrai decidere se accedere ad un db oppure leggere un xml o un file di testo. Il tutto senza che il software chiamante si preoccupi di sapere dove siano memorizzate le informazioni e come fare per recuperare i dati....un passo per volta.
ciao
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

oddio allora sono proprio impedito io di mio?
ho messo in /var/www i due file quello che mi hai rimandato prima e l'ho chiamato checklogin2.php e l'altro in xml e mi dice:

Codice: Seleziona tutto

Attenzione username o password errati
scusa e il file html che mi creava il login che ho fatto non serve???!mi sembra strano!
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

prima di fare altro, prendi i due file contenuti in xml.tar e li copi in una directory visibile da apache. Poi mandi in esecuzione cheklogin2.php. Ti dovrebbe visualizzare a video utente e password. Fatto questo è come se avessi acceduto al db e avessi visualizzato l'utente e la password.
Poi, una volta che tutto funziona, copi il codice precedente e lo sostituisci a quello presente in checklogin.php. Se i valori che imposti nella maschera sono uguali a quelli presenti nel xml ti dice OK, altrimenti l'errore. Se ancora non va, ripostami il tutto, lo correggo e te lo riposto.
ciao
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

prampa ha scritto: prima di fare altro, prendi i due file contenuti in xml.tar e li copi in una directory visibile da apache. Poi mandi in esecuzione cheklogin2.php. Ti dovrebbe visualizzare a video utente e password. Fatto questo è come se avessi acceduto al db e avessi visualizzato l'utente e la password.
Poi, una volta che tutto funziona, copi il codice precedente e lo sostituisci a quello presente in checklogin.php. Se i valori che imposti nella maschera sono uguali a quelli presenti nel xml ti dice OK, altrimenti l'errore. Se ancora non va, ripostami il tutto, lo correggo e te lo riposto.
ciao
ho mandato in esecuzione checlogin così come me lo hai mandato nel tar,se lo eseguo mi dice:

Codice: Seleziona tutto

nome = admin password = admin
quindi sta funzionando come dice!
adesso cancello tutto il contenuto di checklogin2.php e metto:

Codice: Seleziona tutto

<?php

       $myusername=$_POST['myusername'];
       $mypassword=$_POST['mypassword'];       

        if (file_exists('db.xml')) {
                           $xml = simplexml_load_file('db.xml');
            foreach ($xml->user as $driver) {
                                if ( $driver->name = $myusername && $driver->password = $mypassword) {
                  session_register("myusername");
                  session_register("mypassword");
                  header("location:login_success.php");
                        }
               else {
                  echo "Attenzione username o password errati";
               }
                    }
                }
?>
e adessi mi dice:

Codice: Seleziona tutto

Attenzione username o password errati
quindi alla fine nel serverino ho il file checklogin2.php con il codice sopra + db.xml mai toccato  (yes)
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

se ho capito bene quello che dici, no. Il contenuto dell'attuale checklogin2.php lo devi spostare sostituendo quello presente in checklogin.php. In questo modo utilizzi il software scaricato dal sito w**.friuli......com.
Il file checklogin.php serve solo per verificare se i valori digitati in maschera siano uguali a quelli o nel db o, come nel tuo caso, nel documento xml. Se tutto va bene chiama loginsuccess.php altrimenti segnala l'errore: torni indietro e digiti nuovamente utente e password.
L'html main_login.html premendo il tasto di submit chiama checklogin.php: questo controlla i campi della maschera con quelli presenti nell'xml e se sono gli stessi chiama loginsuccess.html (o php) o se sono diversi seganal a video. Questo è il giro.
fammi sapere se va...
caio
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

prampa ha scritto: se ho capito bene quello che dici, no. Il contenuto dell'attuale checklogin2.php lo devi spostare sostituendo quello presente in checklogin.php. In questo modo utilizzi il software scaricato dal sito w**.friuli......com.
Il file checklogin.php serve solo per verificare se i valori digitati in maschera siano uguali a quelli o nel db o, come nel tuo caso, nel documento xml. Se tutto va bene chiama loginsuccess.php altrimenti segnala l'errore: torni indietro e digiti nuovamente utente e password.
L'html main_login.html premendo il tasto di submit chiama checklogin.php: questo controlla i campi della maschera con quelli presenti nell'xml e se sono gli stessi chiama loginsuccess.html (o php) o se sono diversi seganal a video. Questo è il giro.
fammi sapere se va...
caio
stasera riprovo tutto e ti faccio sapere spiegandoti tutto dettagliatamente perchè questa cosa ormai dovrebbe essere finita  (good)
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

swimmerino88 ha scritto:
prampa ha scritto: se ho capito bene quello che dici, no. Il contenuto dell'attuale checklogin2.php lo devi spostare sostituendo quello presente in checklogin.php. In questo modo utilizzi il software scaricato dal sito w**.friuli......com.
Il file checklogin.php serve solo per verificare se i valori digitati in maschera siano uguali a quelli o nel db o, come nel tuo caso, nel documento xml. Se tutto va bene chiama loginsuccess.php altrimenti segnala l'errore: torni indietro e digiti nuovamente utente e password.
L'html main_login.html premendo il tasto di submit chiama checklogin.php: questo controlla i campi della maschera con quelli presenti nell'xml e se sono gli stessi chiama loginsuccess.html (o php) o se sono diversi seganal a video. Questo è il giro.
fammi sapere se va...
caio
stasera riprovo tutto e ti faccio sapere spiegandoti tutto dettagliatamente perchè questa cosa ormai dovrebbe essere finita  (good)
uffa!non funziona!mi sono visto e rivisto i diversi file nel server e non accade nulla!non capisco il motivo!ho visto riga di comando per riga di comando ma niente!Ti mando i files attuali che ho nel sever.
P.S:come noterai la schermata iniziale l'ho chiamata index.html poichè il server che mi sta ospitando attualmente la pagina mi ha chiesto di farlo(ho smesso di testare sul mio serverino linux adesso sto provando sul server web in cui ho lo spazio).
Allegati
File_su_Server.rar
(1.48 KiB) Scaricato 32 volte
Ultima modifica di Anonymous il martedì 29 maggio 2007, 22:00, modificato 1 volta in totale.
prampa
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 652
Iscrizione: lunedì 26 febbraio 2007, 14:04

Re: Schermata login su pagina web

Messaggio da prampa »

modifica checklogin.php in questo modo:

Codice: Seleziona tutto

<?php

       $myusername=$_POST['myusername'];
       $mypassword=$_POST['mypassword'];       

        if (file_exists('db.xml')) {
                           $xml = simplexml_load_file('db.xml');
            foreach ($xml->user as $driver) {
                                if ( $driver->name == $myusername && $driver->password == $mypassword) {
                  session_register("myusername");
                  session_register("mypassword");
                  header("location:login_success.html");
                        }
               else {
                  echo "Attenzione username o password errati";
               }
                    }
                    }
             else {
                  echo "Non trovo il file di configurazione";
                }
                
?>
cosi' funziona!.
Di diverso rispetto alla tua versione c'e' una segnalazione nel caso in cui non venga trovato il file di configurazione (magari per problemi di permessi), il confronto utilizzando == anziche' = (lo avevo scritto male io la prima volta) e il ridirezionamento su success_login.html perche' non esiste con suffisso php.
Se usi admin admin esce la maschera di conferma, altrimenti quella con anomalia.
ciao
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

prampa ha scritto: modifica checklogin.php in questo modo:

Codice: Seleziona tutto

<?php

       $myusername=$_POST['myusername'];
       $mypassword=$_POST['mypassword'];       

        if (file_exists('db.xml')) {
                           $xml = simplexml_load_file('db.xml');
            foreach ($xml->user as $driver) {
                                if ( $driver->name == $myusername && $driver->password == $mypassword) {
                  session_register("myusername");
                  session_register("mypassword");
                  header("location:login_success.html");
                        }
               else {
                  echo "Attenzione username o password errati";
               }
                    }
                    }
             else {
                  echo "Non trovo il file di configurazione";
                }
                
?>
cosi' funziona!.
Di diverso rispetto alla tua versione c'e' una segnalazione nel caso in cui non venga trovato il file di configurazione (magari per problemi di permessi), il confronto utilizzando == anziche' = (lo avevo scritto male io la prima volta) e il ridirezionamento su success_login.html perche' non esiste con suffisso php.
Se usi admin admin esce la maschera di conferma, altrimenti quella con anomalia.
ciao
appena posso lo provo e ti faccio sapere...speriamo bene (yes)
Avatar utente
PetrizzelliGraphics
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2273
Iscrizione: giovedì 2 novembre 2006, 15:34
Località: Verona
Contatti:

Re: Schermata login su pagina web

Messaggio da PetrizzelliGraphics »

swimmerino88 ha scritto:
prampa ha scritto: modifica checklogin.php in questo modo:

Codice: Seleziona tutto

<?php

       $myusername=$_POST['myusername'];
       $mypassword=$_POST['mypassword'];       

        if (file_exists('db.xml')) {
                           $xml = simplexml_load_file('db.xml');
            foreach ($xml->user as $driver) {
                                if ( $driver->name == $myusername && $driver->password == $mypassword) {
                  session_register("myusername");
                  session_register("mypassword");
                  header("location:login_success.html");
                        }
               else {
                  echo "Attenzione username o password errati";
               }
                    }
                    }
             else {
                  echo "Non trovo il file di configurazione";
                }
                
?>
cosi' funziona!.
Di diverso rispetto alla tua versione c'e' una segnalazione nel caso in cui non venga trovato il file di configurazione (magari per problemi di permessi), il confronto utilizzando == anziche' = (lo avevo scritto male io la prima volta) e il ridirezionamento su success_login.html perche' non esiste con suffisso php.
Se usi admin admin esce la maschera di conferma, altrimenti quella con anomalia.
ciao
appena posso lo provo e ti faccio sapere...speriamo bene (yes)
niente pure adesso,non capisco come mai succeda tutto questo ti rimando nuovamente i file attuali nel server per capirci meglio,posso solo dirti che l'unica cosa che ho fatto e modificare quello che mi hai detto,ma ti rimando tutto lo stesso.
Attualmente dopo aver messo utente e password adim admin che ovviamente quando servirà tutto cambierò con i miei(poi vorrei sapere se possibile come criptare con md5),mi compare questo messaggio di errore:

Codice: Seleziona tutto

Fatal error: Call to undefined function: simplexml_load_file() in /membri/marioa88/checklogin.php on line 7
se ho visto bene il codice,in quella riga il file accede al file xml ma non capisco come mai non vada se lui esiste!
Allegati
Sul_Server.rar
(1.51 KiB) Scaricato 26 volte
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti