Rendere visibile un errore in una pagina di login in due modi differenti

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Ciao ^^ ... volevo chiedervi qualche consiglio su come posso mostare gli errori in una pagine di login- logout ( autenticazione ) ... in due modi :

1) quando l'utente che si autentica non ha inserito bene uni dei due campi ( nome e password ) e glicompare una scritta ( colorata ) in cui gli dice che ha sbagliato uno dei due campi oppure uno solo ( che deve apparire per poco tempo) per poi esssere reinderizzato alla pagina iniziale di log-in ;
2) Lo stesso caso di prima solo che invece di far comparire il messaggio di errore in una pagina separata lo vorrei far apparire nelkla stessa pagina della form ....

Please help me !!! Sono disperata !!! :confused::confused:

P.S. scusate tanto se vi rompo ogni volta con questi quesiti ma essendo uno dei miei ultimi esami all'università prima d laurearmi vorrei dare il meglio di me ....

Siete grandiiiiiiiiiiiii !!!! :D

Grazie ancora x il vostro aiuto :D
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per far apparire il messaggio di errore io uso un div con questo css
Codice:
.messaggi{
	/*altri valori che mi servono font, color...*/
	visibility:hidden;/*impostato a nascosto*/
	z-index:99;/*sopra tutti gli altri div*/
}
poi costruisco il messaggio di errore in funzione degli errori che sono stati fatti
per costruire il messaggio di errore, dopo la raccolta dei dati nel mio caso con post, li verifico (es. semplificato)

PHP:
<?php
//.....
$messaggio_OK_KO = "";
if($nome=""){$messaggio_OK_KO .= "non hai inserito il nome<br>";}
if($conome=""){$messaggio_OK_KO .= "non hai inserito il cognome<br>";}
//select al db per username e password....
if(mysql_num_rows($query)==0){$messaggio_OK_KO .= "accesso negato: user o pass errati<br>";}
//....
?>
alla fine la varibile $messaggio_OK_KO conterrà l'elenco degli errori fatti dall'utente o, se non ne ha fatti, rimmarrà vuota
quindi
PHP:
<?php
//...
if($messaggio_OK_KO !=""){
	//se $messaggio_OK_KO non è vuoto lo stampo (nota modifico lo style da hidden a visible)
	echo "<div style=\"visibility:visible \" class=\"messaggi\">$messaggio_OK_KO</div>";
	//e faccio tornare in questo caso al form
	echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}else{
	//faccio quello che devo fare (es. invio l'email o salvo nel db o faccio accere a pag riservate)
}
//...
?>
spero, ma non ci giurerei, di essere stato chiaro
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
Ciao ^^ ... t volevo chiedere alcuni chiarimenti :D

1) Nel primo codice php quando controlli se il la variabile nome e la variabile cognome sono diversi dalla stringa vuota ... dentro l'if si poteva mettere la variabile $_POST['nome'] e $_POST['cognome'] visto che li passo tramite una form con il metodo post ?? ^^

2) Sempre nel primo codice php quando interroghi il database per la verifica del nome e della password si può fare anche senza interrogare un database scrivendo un array e impostando session_start() ?? ^^

3) Nel secondo codice php quando lo vado ad reinderizzare sulla form posso usare la funzione header ('Location : pagina_della_form.html') ?? ^^

:book:

Se il messaggio di errore lo volessi nella stessa pagina della form come potrei fare ? ^^ :book::book:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
1) Nel primo codice php quando controlli se il la variabile nome e la variabile cognome sono diversi dalla stringa vuota ... dentro l'if si poteva mettere la variabile $_POST['nome'] e $_POST['cognome'] visto che li passo tramite una form con il metodo post ?? ^^
si puoi, ho messo così per capirsi. poi dipende da quante volte usi la/le variabile/i se molte volte io preferisco così in modo da non stare tuttr le volte a scrivere $_POST['pinco']
2) Sempre nel primo codice php quando interroghi il database per la verifica del nome e della password si può fare anche senza interrogare un database scrivendo un array e impostando session_start() ?? ^^
si certo, sicurezza a parte.
io una volta ho usato questo sistema costruendo un array del tipo:
PHP:
<?php
//chiave=username, valore=password
$utente=array('pinco' => 'a657ffRt', 'pallo' => 'Po235nnT'); //ecc.....
//poi ho cicliato con foreach mettendo prima un flag
$flag=0;
foreach($utente as $chiave => $valore){
//user e pass proveniente da form col solito post
	if($username==$chiave && $password==$valore){
		$flag=1;
		$_SESSION['utente']=$username; //se ti serve trasmettere ad altra pagina oppure =$chiave
	)
}
if($flag==0){
	//acceso negato
}else{
	//accesso consentito
}
?>
3) Nel secondo codice php quando lo vado ad reinderizzare sulla form posso usare la funzione header ('Location : pagina_della_form.html') ?? ^^
si puoi usare header, ma devi stare attenta perchè o header è la prima istruzione o devi modificare il flusso
PHP:
<?php
ob_start();
//tutto il resto
ob_end_flush();
?>
per quello, talvolta uso il tag meta
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non avevo visto l'ultima domanda
Se il messaggio di errore lo volessi nella stessa pagina della form come potrei fare ?
se form e script di invio sono nella stessa pagina non dovresti avere problemi, se in due pagine diverse dovresti trasmettere alla pag del form il messaggio di errore tramite sessione
nella pag del form verificare se tale sessione esiste e il suo valore e stampare l'errore (schematizzo)
PHP:
<?php
if(isset($_SESSION['mess_ok_ko']) && $_SESSION['mess_ok_ko']){
	echo "<div style=\"visibility:visible \" class=\"messaggi\">".$_SESSION['mess_err']."</div>"; 
}
?>
 

Athene

Utente Attivo
16 Mar 2012
45
0
0
twitter.com
ciao
non avevo visto l'ultima domanda
se form e script di invio sono nella stessa pagina non dovresti avere problemi, se in due pagine diverse dovresti trasmettere alla pag del form il messaggio di errore tramite sessione
nella pag del form verificare se tale sessione esiste e il suo valore e stampare l'errore (schematizzo)
PHP:
<?php
if(isset($_SESSION['mess_ok_ko']) && $_SESSION['mess_ok_ko']){
	echo "<div style=\"visibility:visible \" class=\"messaggi\">".$_SESSION['mess_err']."</div>"; 
}
?>

Ma questo script php ovviamnete va inserito nella pagina dellla form ridenomindo l'estenzione della pagine .php invece dell'estenzione html normale .. giusto ??? :D
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
si.
non avevo pensato di dirtelo perchè l'abitudine a non usare più pagine .htm ma solo .php, anche se non contengono script.
se serve aggiungo lo script, senza dover cambiare l'estensione, ma soprattutto andare a verificare i vari link sparsi a dx e sx:cool:
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Rendere visibile variabile di un costrutto if in un altro costrutto if PHP 1
R [Javascript] Rendere una funzione sempre visibile Javascript 2
G [Javascript] rendere visibile un iframe dopo l'avvenuto caricamento del video che esso contiene Javascript 4
S [Javascript] Nascondere e rendere visibile un Div cliccando su due link Javascript 2
Z Rendere visibile un pulsante HTML e CSS 1
G rendere visibile con php cartella public aruba Hosting 2
S Rendere sito visibile solo in Italia Hosting 0
X rendere visibile ad un determinato id PHP 2
L Rendere una parte trasparente Photoshop 3
D Rendere testo cliccabile PHP 3
P Aiuto per rendere un Bot Telegram Privato PHP 1
G Rendere dati di una tabella mysql link PHP 22
Domenico_Falco1 Rendere dinamico un sito web con chiamate ajax e php e variabili json PHP 12
S rendere mio sito mobile compatibile Offerte e Richieste di Lavoro e/o Collaborazione 2
axem [PHP]rendere cliccabile contenuto PHP 10
T [PHP] rendere facoltativo il caricamento di un file PHP 5
ecosito [HTML ][PHP] rendere attivo il modulo contatti di un template HTML e CSS 9
M Come rendere solo lettura campo textarea PHP 2
S Rendere responsive un player che ha dimensioni fisse HTML e CSS 3
Shyson Rendere select obbligatoria Javascript 1
T Rendere inaccessibile il forum agli utenti non registrati phpBB 4
M Tumblr - Rendere cliccabili tutte le immagini HTML e CSS 4
simonetta619 creare una classe per rendere dinamico l'inserimento PHP 0
G [VENDO] Servizi Pubblicitari Per Youtube (Per Rendere Conosciuto Vostro Video/Canale) Vendere e Acquistare pubblicita' online 0
G [VENDO] Servizi Pubblicitari Per Youtube (Per Rendere Conosciuto Vostro Video/Canale) Annunci servizi di Social Media Marketing 0
G [VENDO] Servizi Pubblicitari Per Youtube (Per Rendere Conosciuto Vostro Video/Canale) Annunci servizi di Social Media Marketing 0
M rendere attivo un oggetto CSS tramite javascript Javascript 3
E rendere il codice più funzionale PHP 5
Frank10 Script o qualsiasi cosa per rendere autonomo chi vuole modificare contenuti PHP 3
D Come posso rendere obbligatorio un drop down menu? Javascript 12
M [htaccess] Rendere accessibile solo la pagina riscritta Web Server 0
asevenx rendere visibili e nascondere DIV con onlink Javascript 12
M Consigli su come rendere fluido questo template HTML e CSS 0
P HTML - rendere cliccabile parte del testo HTML e CSS 2
Z [AS3] Rendere attivo pulsante dentro animazione di altro pulsante Flash 0
H Rendere cliccabile l'header HTML e CSS 10
C [JAVA]Come rendere opzionale un parametro di un costruttore? Java 3
M rendere menu "sopra al testo" Flash 1
f.quintaliani rendere un tratto irregolare come se fosse fatto a mano Webdesign e Grafica 6
S rendere campi form obbligatori Javascript 1
G Come posso rendere invisibili cartelle e file sul web PHP 0
C php, rendere cliccabile un link PHP 0
peppoweb Manuale on-line da Microsoft per rendere sicuri i server Windows e Software 0
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
T [HTML] Pulsantiera sempre visibile HTML e CSS 3
D [Javascript] Text area visibile Javascript 0
S [HTML] Div visibile o nascosto al passaggio del mouse HTML e CSS 3
Daniele450 [Javascript] Slide show in java script, senza array con nome visibile dell'immagine Javascript 2
TONY1960 [HTML] MENU VERTICALE SEMPRE VISIBILE Offerte e Richieste di Lavoro e/o Collaborazione 6
C Sito wordpress non visibile da cellulare WordPress 1

Discussioni simili