-
contenuti pagina web
sapete che codice inserire in una pagina web per far in modo , che se l' utente è loggato al sito vedra' un contenuto se non è loggato vedra un altro contenuto: i due contenuti sia con l' utente loggato che non si trovano nella stessa pagina web ......
grazie in anticipo delle risposte
-
Codice PHP:
<?php
session_start();
if $_SESSION['views'] = 1 {
echo 'contenuto se sei loggato(anche html)';
}else{
echo 'contenuto se non sei loggato';
}
?>
naturalmente prima devi aggiungere il tuo login form e fare che se l'username (e la password) sono corretti
Codice PHP:
$_SESSION['views'] = 1;
se sono errati:
Codice PHP:
$_SESSION['views'] = 0;
-
-
Il form sarebbe dove inserisci password e username,che successivamente vengono confrontati con un database...se c'è un riscontro positivo, come scritto sopra fai scattare $_SESSION['views'] a 1 senno la imposti a 0 e l'utente non vede l'area protetta...
-
questo è il mio form come lo modifico?
Codice PHP:
<?php
session_start();
require('connessionedb.php'); //o le vostre istruzioni per il collegaamento al db
if(!isset($_SESSION['log']))
{
$_SESSION['log'] = 0;
}
if(!isset($_SESSION['username']))
{
$_SESSION['username'] = "Non Registrato";
}
// Ora controlliamo se $_SESSION['log']!=1, cioè se l'utente non è logato
if ($_SESSION['log'] != 1)
{
// Se non lo è procediamo come segue:
if(isset($_POST['pass']) && isset($_POST['user']))
{
$qry_pass = mysql_real_escape_string(md5($_POST['pass']));
$qry_user = mysql_real_escape_string($_POST['user']);
/*Da notare l'utilizzo di md5 per trasformare di nuovo il valore della
password passata nel suo hash per poterla confrontare con quella contenuta nel db.
Poi procediamo verificando username, password e stato registrazione */
$query = "SELECT * " .
"FROM user " .
"WHERE user_username = '$qry_user' " .
"AND user_password = '$qry_pass' " .
"AND user_reg = 1 ";
$results = mysql_query($query) or die (mysql_error());
if(mysql_num_rows($results) != 0)
{
$row = mysql_fetch_array($results);
$_SESSION['log'] = 1; // utente logato
$_SESSION['username'] = $row['user_username'];
}
}
}
echo "Utente on-line: <b>" . $_SESSION['username'] . "</b><br><br>";
?>
<html>
<head>
<title>Home Page</title>
<!-- Usiamo di nuovo lo script-java, visto in precedenza -->
<SCRIPT LANGUAGE="JavaScript">
function ver()
{
for (i=0; i<document.forms[0].elements.length; ++i)
if(document.forms[0].elements[i].value == "")
{
alert("Inserire username e password!");
document.forms[0].elements[i].focus();
return false;
}
return true;
}
</SCRIPT>
</head>
<body>
<p>
<?php
/*Infine notiamo come a seconda del valore contenuto in $_SESSION['log'] 0/1
possiamo visulizzare alcune parti html piuttosto che altre.*/
if ($_SESSION['log'] != 1)
{
?>
<form name="login" action="index.php" method="post" onSubmit="return ver();">
Username<br>
<input name="user" type="text" size="15" maxlength="11"><br><br>
Password<br>
<input name="pass" type="password" maxlength="8"><br><br>
<input type="submit" name="submit" value="Login">
</form>
<br>
</p>
<p>Non ti sei ancora registrato?</p>
<p><a href="registrazione.php">Clicca qui e registrati subito!</a></p>
<?php
}else {
?>
<form name="logout" action="logout.php" method="post" onSubmit="return ver();">
<input type="submit" name="submit" value="Logout">
</form>
<?php
}
?>
</body>
</html>
-
Usa i tag appropriati per postare il codice.
Cmq da quanto ho capito,se l'utente trova riscontro tra i dati del log lo mandi alla pagina "a" Sennò alla pagina "b" giusto?
Se è cosi basta modificare dalla linea N°32 in questo modo
Codice PHP:
if(mysql_num_rows($results) != 0)
{
$row = mysql_fetch_array($results);
$_SESSION['log'] = 1; // utente logato
$_SESSION['username'] = $row['user_username'];
//Log effettuato pagina 'A'
header( "location: A.php" );
}
else {
//Log non effettuato pagina 'B'
header( "location: B.php" );
}
-