Far sparire LOGIN dopo accesso
Author: Agostino F.Salve, avrei bisogno di fare in modo che dopo aver fatto il login, la funzione non sia più visibile, dato che la terrei nell'header.
Per il momento sto usando la funzione login/logout, ma rimane bruttina da vedere e soprattutto sempre visibile se piazzata appunto nell'header.
Se possibile desidererei inoltre che si vedesse l'utente loggato, un qualcosa del tipo : Utente *** o similare
il tasto logout invece fa il suo dovere, non si vede fin quando non si fa il login
Ho già cercato nel forum, per quanto concerne la sparizione della scritta/funzione, non ho praticamente trovato nulla.
Per quanto riguarda la visibilità dell'utente loggato, ho trovato questo https://helpcenter.websitex5.com/en/post/223060.
per fare dei test ho già convertito la pagina in php ed inserito il codice indicato tramite l' oggetto"codice html" , purtroppo, lato server ottengo solo un errore nella posizione dell'oggetto.
Lascio visibile la pagina di test : http://www.ottica-fazzalari.it/shop.php
trascurate il mio tasto login, ripeto mi serviva per fare test!!!!!
Grazie a tutti
Ciao Agostino, hai verificato che il php e MySql sul tuo server soddisfino i requisiti minimi previsti dal programma?
Leggi qui (per versione php richiesta)
Ciao
Mauro
Author
Software version: 5.6.44-86.0-log - Percona Server (GPL), Release 86.0, Revision eba1b3f ( le tabelle sql comunque funzionano perfettamente tra accessiced ecommerce )
Php 7.3
Se avessi problemi nelle versioni, credo avrei malfunzionamenti lato ecommerce e script, invece a me non va quello personalizzato
Presumo tu sia su server Linux, giusto?
Non capisco a cosa ti riferisci quando scrivi "... a me non va quello personalizzato"
Author
Intendo dire che il codice immesso in un oggetto html mi restituisce quell'errore.
Riformulo la domanda in maniera diversa, c'è uno script php funzionante che mi dia la funzione di visualizzazione del nome utente loggato e che il tasto login scompaia dopo aver effettuato l'accesso?
PER IL LOGIN/LOGOUT --
1) Oggetto Login/Logout --> Login (magari nel footer del progetto)
2) Oggetto Login/Logout --> Logout (magari nell'header del progetto) --> il logout lo vedrai solo ad accesso avvenuto)
PER IL CODICE CHE MOSTRA IL NOME UTENTE (a me non da problemi)
1) Crea una pagina protetta (in php) che puoi chiamare "accesso utente";
2) in essa inserisci oggetto html con all'interno il codice:
<p align="center"><font size="3" face="Verdana" color="#fa0000"><strong>
<?php
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
echo "Benvenuto/a ".$user['realname'];
?>
</strong></font></p>
<p align="center"><font size="3" face="Verdana" color="#858285">
<strong>
<?php
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
echo "Nome Utente - ".$user['username'];
?>
</strong></font></p>
<p align="center"><font size="3" face="Verdana" color="#858285">
<strong>
<script LANGUAGE="JavaScript">
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
ora = datetoday.getHours();
if (ora >22) display = "notte...Ancora qui a questa ora?";
else if (ora > 18) display = "serata, niente TV stasera?";
else if (ora >12) display = "giornata!";
else if (ora >6) display = "mattinata!";
else display = "nottata...Ma hai visto bene che ore sono?";
var saluto = ("Buona " + display + "!");
document.write(saluto);
// Fine -->
</script>
</strong></font></p>
<!-- Private Area.Logout: START -->
<p align="center">
<span class="imLogout" style="font-weight: bold; font-style: normal;font-family:Trebuchet MS; font-size:16pt; color: #FF0000"></span>
<!-- Private Area.Logout: END -->
Il font e colore del carattere puoi modificarlo a tua discrezione:
3) esporta, accedi alla pagina e dovresti avere:
accanto a nome utente (che io ho cancellato) vedrai il nome dell'utente loggato.
Ciao
Mauro
ERRATA CORRIGE
Il login non metterlo in header o footer (altrimenti come hai giustamente indicato -ed a me era sfuggito- vedrai sempre i campi di accesso).
Prova a seguire questo (dagli amici di "Quelli del cucuzzolo"):
http://quellidelcucuzzolo.blogspot.com/2017/05/menu-utente-loggato-website-x5.html
E' una soluzione simpatica e funzionante.
Ciao
Mauro
Prova questo:
<?php
require_once("res/x5engine.php");
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
if ($user){echo "Benvenuto <b>".$user['realname']."</b>";
echo'<br><span class=\"imLogout\" style=\"font-weight: normal; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>';}else{?>
<!-- Private Area.Login: START -->
<div id="imLogin" style="width: 100%; max-width: 100px">
<form method="post" action="imlogin.php" onsubmit="_jq(this).attr('action', x5engine.settings.currentPath + 'imlogin.php'); return (x5engine.utils.isOnline() || !x5engine.utils.showOfflineMessage(x5engine.l10n.get('blog_offline_message')));">
<div class="imLoginBlock" style="width: 100%;">
<label for="imUname"><span style="font-weight: normal; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000">Username:</span></label><br />
<input type="text" name="imUname" id="imUname" style="box-sizing: border-box; font-weight: normal; font-style: normal;border: 1px solid #ccc; font-family:Tahoma; font-size:10pt; background-color: #FFFFFF; color: #000000; width: 100%; max-width: 100px"><br />
</div>
<div class="imLoginBlock" style="width: 100%;">
<label for="imPwd"><span style="font-weight: normal; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000">Password:</span></label><br />
<input type="password" name="imPwd" id="imPwd" style="box-sizing: border-box; font-weight: normal; font-style: normal;border: 1px solid #ccc; font-family:Tahoma; font-size:10pt; background-color: #FFFFFF; color: #000000; width: 100%; max-width: 100px"><br />
</div>
<div class="imLoginBlock" style="width: 100%; margin-top: 5px; text-align: center">
<input type="submit" value="Accedi" class="imLoginSubmit" style="font-weight: normal; font-style: normal;border: 1px solid #ccc; background-color: #DDDDDD; font-family:Tahoma; font-size:10pt; color: #000000"></div></form></div>
<!-- Private Area.Login: END -->
<?php}?>
Author
Grazie ad entrambi. Sto provando la soluzione del sito linkato, funziona ma sta dando problemi con le icone, ho notato che parecchi hanno lo stesso identico problema. sto provando a sistemare il codice per vedere di venirne a capo. Fra poco testo anche la versione di Giorgio.
Vi aggiorno appena ne vengo a capo, così che possa tornare utile a tutti
Author
Intanto grazie. Per i fontawesone ho dovuto usare questo link https://github.com/FortAwesome/Font-Awesome/tree/fa-4
@giorgio, il tuo codice contiene a occhio un errore alla chiusura php, comunque ho un parse error a prescindere anche correggendolo, ho troppa ruggine in programmazione e sonno arretrato.
Author
Mi autorispondo...
Spero non ti dispiaccia, nell'header mi sono tenuto :
<?php
require_once("res/x5engine.php");
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
if ($user){echo "Benvenuto <b>".$user['realname']."</b>";
echo'<br><span class=\"imLogout\" style=\"font-weight: normal; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>';}
else
?>
Funziona perfettamente così :D
Author
Altro problema, il codice php di "quellidelcucuzzolo" ed anche il tuo codice, non funzionano nella pagina carrello e-commerce in quanto ha estensione html.
Mi sono di nuovo bloccato
Scusate i mille messaggi
Author
Risolto l'errore, erano dei file lasciati lato server.
col codice che posto sotto ho "solo" problemi di crash php lato carrello. ho temporaneamente risolto levando completamente le righe di codice, intanto proseguo. comunque grazie di cuore!
<?php
require_once("res/x5engine.php");
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
if ($user){echo "Benvenuto <b>".$user['realname']."</b>";
echo'<br><span class=\"imLogout\" style=\"font-weight: normal; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>';}
else
?>
Se hai fatto chiudi il post attribuendo il like a chi ti ha dato la soluzione.
Ciao
Mauro
Il grosso del codice che hai cancellato e quello che website inseriva per il login nella versione 12.
Con quella cancellazione hai lasciato un else tronco mancante cioè del suo contenuto.
Ed è proprio quello che permetteva di visualizzare il form di login dopo aver fatto logout.
Author
Giorgio, il problema del codice l'ho risolto, l'errore nel carrello è dovuto a un redeclare della funzione anche se c'è il require_once, lo fa solo in carrello adesso, praticamente quando entra in lettura /cart. Ora non ho il pc sottomano, mio figlio protesta. Stavo pensando a un ciclo di if, così da terminare se risulta già la chiamata. Cosa ne pensi?
Author
il problema non è il tuo script, è proprio nella v13 di quellidelcucuzzolo, prima apertura tag html, la riga require_once($qpath . "res/x5engine.php"); se clicco sul carrello mi va in errore php
Metto in PHP anche la pagina del carrello
Author
già fatto, se provo ad accedere a carrello ecommerce ricerca
Warning: require_once(res/x5engine.php): failed to open stream: No such file or directory in /web/htdocs/www.ottica-fazzalari.it/home/cartsearch/index.php on line 33
Fatal error: require_once(): Failed opening required 'res/x5engine.php' (include_path='.:/php7.3/lib/php') in /web/htdocs/www.ottica-fazzalari.it/home/cartsearch/index.php on line 33
certo perché il percorso relativo cambia del file x5engine.php cambia.
Devi inserire una variabile che tenga conto della sub directory in cui ti trovi.
Prova a inserire questo
<?php
$qblog = $_SERVER['PHP_SELF'];
if (strpos($qblog, '/blog/') !== false || strpos($qblog, '/cart/') !== false || strpos($qblog, '/cartsearch/') !== false)
$qpath = '../';
else
$qpath = '';
require_once($qpath . "res/x5engine.php");
$pa = Configuration::getPrivateArea();
$user = $pa->whoIsLogged();
if ($user)
{
echo "Benvenuto <b>".$user['realname']."</b>";
echo'<span class=\"imLogout\" style=\"font-weight: normal; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000\"></span>';
}else
{
?>
<!-- Private Area.Login: START -->
<div id="imLogin" style="width: 100%; max-width: 100px">
<form method="post" action="imlogin.php" onsubmit="_jq(this).attr('action', x5engine.settings.currentPath + 'imlogin.php'); return (x5engine.utils.isOnline() || !x5engine.utils.showOfflineMessage(x5engine.l10n.get('blog_offline_message')));">
<div class="imLoginBlock" style="width: 100%;">
<label for="imUname"><span style="font-weight: normal; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000">Username:</span></label><br />
<input type="text" name="imUname" id="imUname" style="box-sizing: border-box; font-weight: normal; font-style: normal;border: 1px solid #ccc; font-family:Tahoma; font-size:10pt; background-color: #FFFFFF; color: #000000; width: 100%; max-width: 100px"><br />
</div>
<div class="imLoginBlock" style="width: 100%;">
<label for="imPwd"><span style="font-weight: normal; font-style: normal;font-family:Tahoma; font-size:10pt; color: #000000">Password:</span></label><br />
<input type="password" name="imPwd" id="imPwd" style="box-sizing: border-box; font-weight: normal; font-style: normal;border: 1px solid #ccc; font-family:Tahoma; font-size:10pt; background-color: #FFFFFF; color: #000000; width: 100%; max-width: 100px"><br />
</div>
<div class="imLoginBlock" style="width: 100%; margin-top: 5px; text-align: center">
<input type="submit" value="Accedi" class="imLoginSubmit" style="font-weight: normal; font-style: normal;border: 1px solid #ccc; background-color: #DDDDDD; font-family:Tahoma; font-size:10pt; color: #000000"></div></form></div>
<!-- Private Area.Login: END -->
<?php
}
?>
Author
Perfetto, grazie mille. Era semplicemente il path da inserire, purtroppo sono ignorante di php.
Ora funziona sia il tasto di login preso dall'altro forum, sia la piccola modifica al tuo login che ho messo nell'header. Direi che la cosa è risolta!
Author
se avessi bisogno di materiale ottico, bè fai un fischio :D