- Home
- Categorie
- Coding e Sistemistica
- PHP
- problema login
-
@danny1975 said:
Rieccomi, un saluto a tutti
sto facendo un casino, perchè pensavo di aver risolto, invece mi ritovo punto e a capo.
vi ricordate del mio problema n.1?
evitare che qualcuno possa vedere le pagine di amministrazione, senza prima essersi loggato.
io ho scritto una cosa del genere nella pagina che dovrebbe apparire
appena essermi loggato
[php]
if(isset($_SESSION['username'])== 0)
{
$messaggio=urlencode("Ti consiglio di autenticarti");
header('location:'.'watch/accept.php'.'?msg='.$messaggio);
exit;
}
else
{
//<div align='center'>
echo"<table border='0' cellpadding='0' cellspacing='0' width='605' height='79'>";
echo"<tr>";
echo"<td width='34' height='79' rowspan='3'>
<img border='0' src='immages/active_curva_sx.gif' width='33' height='93'></td>";
echo"</tr>";
echo"</table>";
}
[/php]quando provo a loggarmi mi da sempre lo stesso messaggio>ti consiglio di autenticarti >```potreste farmi capire dove sta l'intoppo? grazie a tutti Prova cosi: if(isset($_SESSION['username']))
-
ciao, ho provato come mi hai detto
[PHP]
if(isset($_SESSION['username']))
[/PHP]
in questo modo riesco a vedere la pagina successsiva al login,
però c'è un problema,
ti spiego meglio
ho la pagina login.php, dove m trovo davanti i campi da riempire
Username e Password
una volta scritto i dati correttamente dovrei vedere la pagina menu.php
fin qua ci siamo, però se tento di andare in modo diretto a menu.php
senza passare per la pagina di login.php riesco a farlo comunque.
Il mio problema è proprio questo
Ciò che voglio fare è quello di mandare un messaggio se qualcuno tenta di accedere alle pagine di amministrazione senza passare per il loginpenso di essere stato chiaro
ciao e grazie da danny
-
ciao, ho risolto facendo così e funziona
avevo scritto
questa parte
if($dati=mysql_fetch_array($result,MYSQL_ASSOC))
però a dati non avevo assegnato nessun valore
ed ho rimediato così
$username=$dati['user'];
$password=$dati['pwd'];
$_SESSION['username']=isset($_POST['username']);
$_SESSION['password']=isset($_POST['password']);fortunatamente funziona, però non rimando indietro soluzioni migliori
ciao da danny
-
Ciao ragazzi, che casino
dopo aver fatto l'ultima modifica, andava bene
ma quando aprivo le altre pagine di amministrazione del sito
mi dava un errore, allora ho inserito il codice
[PHP]
<?php
session_start();
if(!isset($_SESSION['username']))
{
$messaggio=urlencode("Ti consiglio di autenticarti");
header('location:'.'watch/accept.php'.'?msg='.$messaggio);
exit;
}
?>
[/PHP]
nelle altre pagine di amministrazione
ma adesso ricevo il seguente errore**Notice**: A session had already been started - ignoring session_start() in **c:\programmi\easyphp1-8\www\gestione\menu.php** on line **2**
che tradotto
Avviso: Una sessione era già stato iniziato - ignorando session_start () in c: \ programmi \ easyphp1-8 \ www \ gestione \ menu.php on line 2
potete dirmi come faccio ad evitare questo errore?
grazie
-
c'è session_start ripetuto 2 volte, come dice l'errore...
-
@Thedarkita said:
c'è session_start ripetuto 2 volte, come dice l'errore...
ciao, come posso evitare questo errore?
grazie
-
toglierne 1?
-
@Thedarkita said:
toglierne 1?
l'hai scritto come se fosse una cosa semplice:o
se tolgo la sessione da menu.php l'errore svanisce, però posso visualizzare la pagina menu.php anche saltando la pagina di login, cosa non bene per il sito
sto usando le sessioni proprio per questo, per far si che qualche cattivello non possa accedere in modo diretto alle pagine di amministrazione, costringendolo a passare per il login
ciao
-
Aggiungere un file config.php in cui mettere la session_start in modo che venga aperta la sessione su tutti i file 1 volta sola?
-
@Thedarkita said:
Aggiungere un file config.php in cui mettere la session_start in modo che venga aperta la sessione su tutti i file 1 volta sola?
mmhh! il problema sembra essere uguale
penso di aver capito cosa tu voglia dirmi e lo fatto
ho messo 2 file config. e connect.php
connect.php
[PHP]<?php
session_start();
require'Config.php';
$link=mysql_connect($db_host,$db_user,$db_password);
if(!$link)
{
die("Non riesco a connettermi:".mysql_error());
}
$db_selected=mysql_select_db($db_name,$link);
if(!$db_selected)
{
die("Errore nella selezione del database:".mysql_error());
}
?>[/PHP]menu.php
[PHP]<?php
require 'Config.php';
require 'Connect.php';
if(!isset($_SESSION['username']))
{
$messaggio=urlencode("Ti consiglio di autenticarti");
header('location:'.'watch/accept.php'.'?msg='.$messaggio);
exit;
}
?>
<html>
<head>
<meta http-equiv="Content-Language" content="it">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Pannello di controllo Area principale</title>
</head>
<body>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="605" height="79" id="AutoNumber1">
<tr>
<td width="34" height="79" rowspan="3">
<img border="0" src="immages/active_curva_sx.gif" width="33" height="93"></td>
<td width="270" height="6" colspan="3">
<img border="0" src="immages/active_linea.gif" width="270" height="11"></td>
<td width="299" height="6" colspan="3">
<img border="0" src="immages/active_linea.gif" width="270" height="11"></td>
<td width="99" height="36" rowspan="3">
<img border="0" src="immages/active_curva_dx.gif" width="33" height="94"></td>
</tr>
<tr>
<td width="76" height="65" valign="top" bgcolor="#FFFFFF">
<a href="app_scelta_articolo.php">
<img border="0" src="immages/articolo.gif" width="90" height="68"></a></td>
<td width="76" height="65" valign="top" bgcolor="#FFFFFF">
<a href="app_scelta_categoria.php">
<img border="0" src="immages/categoria.gif" width="90" height="68"></a></td>
<td width="91" height="65" valign="top" bgcolor="#FFFFFF">
<a href="app_eye_contatto.php">
<img border="0" src="immages/contatto.gif" width="90" height="68"></a></td>
<td width="9" height="65" valign="top" bgcolor="#FFFFFF">
<a href="app_eye_ordine.php">
<img border="0" src="immages/ordine.gif" width="90" height="68"></a></td>
<td width="22" height="65" valign="top" bgcolor="#FFFFFF">
<img border="0" src="immages/newsletter.gif" width="90" height="68"></td>
<td width="107" height="65" valign="top" bgcolor="#FFFFFF">
<img border="0" src="immages/banner.gif" width="90" height="68"></td>
</tr>
<tr>
<td width="270" height="7" colspan="3"> <img border="0" src="immages/active_linea.gif" width="270" height="11"></td>
<td width="299" height="7" colspan="3">
<img border="0" src="immages/active_linea.gif" width="270" height="11"></td>
</tr>
</table>
</div>
</body>
</html>[/PHP]app_scelta_categoria.php
[PHP]
<?php
require 'Config.php';
require 'Connect.php';
if(!isset($_SESSION['username']))
{
$messaggio=urlencode("Ti consiglio di autenticarti");
header('location:'.'watch/accept.php'.'?msg='.$messaggio);
exit;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/">
<html>
<head>
<title>Pannello di controllo Inserimento nuova categoria</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
include('menu.php');
?>
<br>
<?
include('Categoria/frm_categoria.php');
?>
</body>
</html>
[/PHP]penso di aver capito bene
mica il problema sta nel fatto che quando richiamo app_scelta_categoria.php richiamo menu.php?
-
usa require_once
-
@Thedarkita said:
usa require_once
Thedarkita, non so come ringraziarti, però vorrei sapere cosa c'è di diverso tra require e require_once
grazie ancora
-
require_once include il file 1 volta(se hai già incluso non lo include un altra volta), mentre require lo include sempre.