allora, cerco di spiegarmi.
io devo sapere su quali link un utente clicca dopo che siè logato tramite la pagina di login.
girando ho trovato il codice qui sotto:
<?php
$config['host'] = 'localhost';
$config['user'] = '';
$config['pass'] = '';
$config['database'] = '';
if(!$_SESSION['user'] || empty($_SESSION['user'])) {echo 'Devi prima seguire il login'; return 0;}
if(!$_GET['id'] || !is_numeric($_GET['id'])) {echo 'L'i deve essere numerico'; return 0;}
$m_d = mysql_connect($config['host'],$config['user'],$config['pass']);
if(!$m_d) { echo 'Connessione al database mysql non stabilita';return 0;}
mysql_select_db($config['database']);
$r_h = mysql_query('SELECT link FROM `link` WHERE id = '.$_GET['id']) or die('Query non valida');
if(mysql_num_rows($r_h) === 1) {
$r = mysql_fetch_assoc($r_h);
$q = 'INSERT INTO `click`(utente,link,timestamp) VALUES(''.$_SESSION['user'].'',''.$_GET['id'].'',UNIX_TIMESTAMP())';
$r_h = mysql_query($q) or die('Query non valida');
if(mysql_affected_rows() === 1) header('Location: '.$r['link']); // Qui puoi gestirti il redirect come vuoi se via php o via JS
} else {
echo 'Link inesistente o rimosso dall'admin';
}
mysql_close();
?>
-------------------
però non va, mi dice 'Devi prima seguire il login'.
credo che il problema sia nelle sessioni. perche per la pagina di login uso il codice qui sotto (il codice non lo scritto io, lo rimediato un po qua e un po di la).
---------------------------------------------------
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "welcome.php";
$MM_redirectLoginFailed = "errore-login.html";
$MM_redirecttoReferrer = false;
mysql_select_db($database_gcv, $gcv);
$LoginRS__query=sprintf("SELECT username, password FROM user WHERE username='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $gcv) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
mi dite dove l'errore?
io devo sapere su quali link un utente clicca dopo che siè logato tramite la pagina di login.
girando ho trovato il codice qui sotto:
<?php
$config['host'] = 'localhost';
$config['user'] = '';
$config['pass'] = '';
$config['database'] = '';
if(!$_SESSION['user'] || empty($_SESSION['user'])) {echo 'Devi prima seguire il login'; return 0;}
if(!$_GET['id'] || !is_numeric($_GET['id'])) {echo 'L'i deve essere numerico'; return 0;}
$m_d = mysql_connect($config['host'],$config['user'],$config['pass']);
if(!$m_d) { echo 'Connessione al database mysql non stabilita';return 0;}
mysql_select_db($config['database']);
$r_h = mysql_query('SELECT link FROM `link` WHERE id = '.$_GET['id']) or die('Query non valida');
if(mysql_num_rows($r_h) === 1) {
$r = mysql_fetch_assoc($r_h);
$q = 'INSERT INTO `click`(utente,link,timestamp) VALUES(''.$_SESSION['user'].'',''.$_GET['id'].'',UNIX_TIMESTAMP())';
$r_h = mysql_query($q) or die('Query non valida');
if(mysql_affected_rows() === 1) header('Location: '.$r['link']); // Qui puoi gestirti il redirect come vuoi se via php o via JS
} else {
echo 'Link inesistente o rimosso dall'admin';
}
mysql_close();
?>
-------------------
però non va, mi dice 'Devi prima seguire il login'.
credo che il problema sia nelle sessioni. perche per la pagina di login uso il codice qui sotto (il codice non lo scritto io, lo rimediato un po qua e un po di la).
---------------------------------------------------
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['username'])) {
$loginUsername=$_POST['username'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "welcome.php";
$MM_redirectLoginFailed = "errore-login.html";
$MM_redirecttoReferrer = false;
mysql_select_db($database_gcv, $gcv);
$LoginRS__query=sprintf("SELECT username, password FROM user WHERE username='%s' AND password='%s'",
get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password));
$LoginRS = mysql_query($LoginRS__query, $gcv) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
mi dite dove l'errore?