- Home
- Categorie
- Coding e Sistemistica
- MYSQL e altri Database
- [SCRIPT] News con utilizzo di un Database MySQL
-
Ringraziamo noi te per aver condiviso questa tua chicca con noi.
-
Scusate, faccio tutto quello che indica la pagina ma, inesorabilmente, non mi accetta il login. Non mi da alcun messaggio di errore, semplicemente non va avanti (anche se vedo la pagina di login). Sapreste dirmi che fare?
Grazie, GF
-
Ciao giafa.
Facendo login ti torna alla stessa schermata vuota senza messaggio di errore?
A primo acchitto mi sembra di capire che non parta la sessione, dato che l'impostazione delle pagine di amministrazione è quella di controllare se la sessione c'è e che questa abbia corrispondenza con la tabella user del Database. Se non si verifica uno dei due controlli ti reindirizza alla pagina di login.
Hai provato con altri script che avviano sessioni, se te le attiva?
Altra prova che puoi fare è, una volta fatto il login, digitare sull'url invece di .../news/login.php -> news/admin.php e vedere se ti fa tornare alla pagina di login o ti fa accedere.
Testa un po' e facci sapere.
-
HOps! avevo inserito un link attivo e devo ricominciare da capo..
Grazie per la risposta. Niente da fare in ogni caso (ne richiamando la pagina di login e ne direttamente l'admin.php, sia prima che dopo) eppure in locale funziona.
Se ho ben capito il mio servizio hosting potrebbe inibirmi l'esecuzione di script? In effetti , ora che ci penso, potrebbe essere per questo che non riesco nemmeno a vedere una pagina php in cui scaricare con uno script i contenuti di una tabella di un database (appunto una serie di contenuti). Lo script funziona in locale ma quando provo a lanciarlo in remoto mi restituisce l'errore per cui non riconosce i dati di connessione con il db mysql.
Ho ben capito? Che dovrei fare?
(ps se potesse servire il sito di prova su cui sto lavorando è *****.info e le pagine che cerco di richiamare sono .info/news/admin.php, l'user è "", la pass "*")
Grazie, Gianni
-
Ehm....come dire...
Nome utente e/o password errati.
Questo è un messaggio di errore ben preciso direi.
-
Heem, Scusa!
hai ragione, l'altra notte ho fatto un pò di pasticci nel tentativo di risolvere (avevo modificato il file di login e lo avevo dimenticato caricato nel server) ...... ero cotto.
Stamattina l'ho reinstallato ed ho rifatto tutta la procedura.
Quando mi chiede di specificare nome e password inserisco "giafa" e "seneca" , come ti avevo detto, non succede niente.
In effetti la pagina di login mi restituisce questo:<?
if ($_POST['username'] || $_POST['password'])
{
$username="giafa";
$password="seneca";$username=htmlentities($_POST['username']);
$password=md5($_POST['password']);require_once ("config.php");
$sql="SELECT username FROM user WHERE username='$username' AND password='$password'";
$query=@mysql_query($sql) or die (mysql_error());$num=mysql_num_rows($query);
if ($num==1)
{
session_start();
session_unset();
session_destroy;session_start(); $_SESSION['user']=mysql_result($query,0); header("Location:admin.php");
}
else
{
$msg="Nome utente e/o password errati.";
}
}Scusami ancora per la disattenzione
Gianni
-
Controllerei che l'inserimento sulla tabella del Db sia andato a buon fine.
Apri la tabella user e controlla che i tuoi dati di accesso siano memorizzati giusti. Per la password basta che con un editor di testo PHP scrivi
[php]<?
echo md5("latuapassword");
?>[/php]
E quindi fai il debug per vedere il valore hashato della password....che sul Db dovrà essere identico.Attenzione che nel caso della password minuscole e maiuscole son considerati differenti.
-
No non corrisponde, che devo fare?
-
Cosa non corrisponde?
La password hashata?
Le posteresti entrambe così vediamo se è un problema di script?
-
Ok:
questa la pagina che mi resituisce lo script che mi hai indicato:
bf743a59ab5ccf1e53089c61588de50f
questo il valore nel campo user del dbmysql
bc76d2300d508c34112760682b572e60
-
@giafa said:
questo il valore nel campo user del dbmysql
bc76d2300d508c34112760682b572e60
L'hash md5 è giusto, ma perché dici il campo user?
Questo dovrebbe essere il valore del campo password.
-
Ok, sempre peggio.....
è il campo password (ci starò più attento)
-
Non capisco dove sia il problema. Sicuro di non aver effettuato modifiche al codice?
Riproverei a cancellare tutto ed a rifare l'installazione.P.S.
Questa modifica:
[php]<?
if ($_POST['username'] || $_POST['password'])
{
$username="giafa";
$password="seneca";$username=htmlentities($_POST['username']);
$password=md5($_POST['password']);
..............[/php]
Ti restituirà sempre il messaggio di errore dato che il file prevede che i dati arrivino da un form.
-
Reistallato tutto per la quinta volta, questa volta cancellando prima dal server la cartella e le voci db corrispondenti. Tutto come prima mentre in locale tutto continua a funzionare.
Questo il codice del file config:
[php]<?
if ($_POST['username'] || $_POST['password'])
{
$username="";
$password="";$username=htmlentities($_POST['username']);
$password=md5($_POST['password']);require_once ("config.php");
$sql="SELECT username FROM user WHERE username='$username' AND password='$password'";
$query=@mysql_query($sql) or die (mysql_error());$num=mysql_num_rows($query);
if ($num==1)
{
session_start();
session_unset();
session_destroy;session_start(); $_SESSION['user']=mysql_result($query,0); header("Location:admin.php");
}
else
{
$msg="Nome utente e/o password errati.";
}
}
?>[/php]
Questo la password ashata che mi resituisce lo script :
bf743a59ab5ccf1e53089c61588de50fQuesto nel db
88fa1171068d4d0895bfd57f6d989cd7Se hai tempo e voglia e puoi controllare, ho cambiato i nuovi dati.
user: giafanews
pass: senecanewsGrazie.
-
@giafa said:
Questo la password ashata che mi resituisce lo script :
bf743a59ab5ccf1e53089c61588de50f
Dovevi cambiare "latuapassword" con "senecanews" per confrontare.
Comunque è giusto questo:
questo nel db
88fa1171068d4d0895bfd57f6d989cd7Fai una prova per il momento nella pagina login.php metti solo:
[php]<?
echo $_POST['username']."-username<br />";
echo $_POST['password']."-password<br />";
echo md5($_POST['password'])."-password md5";
?>[/php]Il resto cancellalo e vedi cosa ti restituisce.
-
Allora, ho seguito le istruzioni, uploadato, dato i permessi, eseguito install.php che mi restituisce OK sia sulla creazione della tabella che sulla creazione del file config
Vado ad inserire una notizia di prova ed ecco cosa succede:
lato admin mi dà questo errore:
Unknown column 'title' in 'field list'
e lato pubblico mi dà questo:
Unknown column 'publish' in 'where clause'
-
Ciao Nicc0.
Per prima cosa dovresti controllare da pannello phpmyadmin le tabelle, che siano state create e che contengano i giusti campi, se riscontri problemi nel file readme c'è l'istruzione SQL pronta per essere utilizzata già da phpmyadmin per la creazione.
Facci sapere.
-
Grazie Samyorn, tutto ok.
Colpa mia che non mi ero accorto che nel db era rimasta una tabella news di un precedente script che avevo provato tempo fa!
-
Ora però c'è un altro problema: le news vengono visualizzate solo in ordine dalla prima all'ultima, con la prima "in cima", indipendentemente dalla configurazione...
-
Scusa per il ritardo ma questo è un periodo incasinatissimo al lavoro.
Controlla il file config.php, per fare così sarà impostato ASC invece di DESC. Io l'ho appena ritestato e funziona.