ueno espero q puedan ayudarme en este problema q tengo.
Tengo un sistema de noticias el cual funciona con sesione para que los usuarios puedan ver los articulos.
Lo que quiero es que cuando un usuario haga clic en una noticia para poder verlo entra con su usuario y password, pero una vez que hace esto lo direcciona al index.
Y lo que quiero es cuando una vez inicie sesion le direccione a la misma noticia donde iso clic el usuario y no asi al index.
Estos son mis archivos con los q estoy trabajando
Este es mi archivo pasword.php para ingresar usuario y pasword
<?php
session_start();
include('conexion.php');
if(empty($_SESSION['id_cliente'])) { // comprobamos que las variables de sesión estén vacías
?>
<form action="verificar_usuario.php" method="post">
<label>Usuario:</label><br />
<input type="text" name="id_cliente" /><br />
<label>Contraseña:</label><br />
<input type="password" name="clave" /><br />
<input type="submit" name="enviar" value="Ingresar" />
</form>
<?php
}else {
?>
<?php
//header("Location:index.php");
header("Location:index.php?id=$_GET[id_noticia]");
//header ("index.php?id=".$_GET['id']);
?>
<?php
}
?>
En el archivo pasword.php pongo esto para q mande al id pero no me da
header("Location:index.php?id=$_GET[id_noticia]");
Este archivo es el verificar_usuario.php
<?php
session_start();
include('conexion.php');
if(isset($_POST['enviar'])) { // comprobamos que se hayan enviado los datos del formulario
// comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos
if(empty($_POST['id_cliente']) || empty($_POST['clave'])) {
// echo "El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
echo"<script type=\"text/javascript\">alert('Usted esta siendo redireccionado a la pagina principal'); window.location='index.php';</script>";
}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_nombre = mysql_real_escape_string($_POST['id_cliente']);
$usuario_clave = mysql_real_escape_string($_POST['clave']);
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
$sql = mysql_query("select * from clientes WHERE id_cliente='".$usuario_nombre."' AND clave='".$usuario_clave."'");
if($row = mysql_fetch_array($sql)) {
$_SESSION['id_cliente'] = $row["id_cliente"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
//header("Location: pasword.php");
header ("Location: pasword.php");
}else {
?>
Error usuario no valido, <a href="pasword.php">Reintentar</a>
<?php
}
}
}else {
header("Location: pasword.php");
}
?>
Y este el noticiadetalle.php, q es lo q quiero q muestre una vez del login
<?php
session_start();
include('conexion.php'); // incluímos los datos de acceso a la BD
// comprobamos que se haya iniciado la sesión
if(isset($_SESSION['id_cliente'])) {
?>
<?php include("conexion.php");//envia a la conexion
$consulta="select DATE_FORMAT(fecha,'%d/%m/%Y'),concat('. ', hora),concat(' Nota ',id_noticia,'.- '),titulo,resumen,articulo from noticias where estado=2 and id_noticia=".$_GET[id];
//$consulta="select DATE_FORMAT(fecha,'%d/%m/%Y')ESTA ES $datos[0],concat('. Nota ',id_noticia,'.- ')ESTA ES $datos[1],titulo ESTA ES $datos[2],resumen ESTA ES $datos[3],archivo ESTA ES $datos[4], from noticias where estado=2 order by id_noticia desc";
$sql=mysql_query($consulta,$con) or die(mysql_error());
while($datos=mysql_fetch_row($sql)){
//Saca todos los registros de la tabala noticias while($datos=mysql_fetch_row($sql)){ WHILE significamientras
//no se llegue al ultimo registro entonces entra
?>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="2%" > </td>
<td width="98%" ><span class="titular3"><?php echo $datos[0]. $datos[1]. $datos[2];?></span></td>
</tr>
<tr>
<td height="18" colspan="2" > </td>
</tr>
<tr>
<td height="18" colspan="2" ><span class="titular18"><?php echo $datos[3] ;?></span></td>
</tr>
<tr>
<td height="18" colspan="2" > </td>
</tr>
<tr>
<td height="18" colspan="2" ><span class="titular2"><?php echo $datos[4];?></span></td>
</tr>
<tr>
<td height="18" colspan="2" ><span class="contenido"><?php echo $datos[5];?></span></td>
</tr>
<tr>
<td height="18" colspan="2" ><?php
}
?></td>
</tr>
<tr>
<td height="18" colspan="2" ><div align="center">
<table width="25%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="49%"><font face="verdana,arial,helvetica" color="black"
size="-2"><a
href="javascript:if (window.print != null) { window.print(); } else { alert('Lastimosamente, su navegador (browser) no soporta esta función. Por favor seleccione Imprimir (Print) desde su Menú de Opciones (File Menu)Please select Print from the File menu.'); }"><img
height="25"
src="images/imprimir.jpg"
width="60" align="abscenter" border="0" /></a></font></td>
<td width="30%"> </td>
<td width="21%"><a href="amigo.php?id=<?php echo $_GET[id];?>" target="_blank"></a></td>
</tr>
</table>
<a href="enviar.php" target="_parent"></a> </div></td>
</tr>
</table>
<?php
}else {
echo "Estás accediendo a una página restringida, para ver su contenido debes estar registrado.<br />";
echo " <form action='verificar_usuario.php' method='post'>";
echo " <label>Usuario:</label><br />";
echo " <input type='text' name='id_cliente' /><br />";
echo " <label>Contraseña:</label><br />";
echo " <input type='password' name='clave' /><br />";
echo " <input type='submit' name='enviar' value='Ingresar' />";
echo " </form> ";
}
?>
<link href="estilo.css" rel="stylesheet" type="text/css" />
Y despues del login lo manda al index y no a la noticia que deberia ir me sale esto
http://localhost/nan/index.php?id=
Porfavor alguna ayuda, en que puedo estar fallando???????
Para empezar, es redireccionamiento, y la solución es:
En
password.phpCambiar
header("Location:index.php?id=$_GET[id_noticia]");
por
header("Location:index.php?id=".$_GET[id_noticia
]);
Aunque falto la línea:
//header("Location:index.php");
Corrige por la siguiente:
//header("Location:index.php?id=".$_GET[id_noticia]");
cuentanos como te fue, saludos...
Lo que quiero es que cuando un usuario haga clic en una noticia para poder verlo entra con su usuario y password, pero una vez que hace esto lo direcciona al index.
Y lo que quiero es cuando una vez inicie sesion le direccione a la misma noticia donde iso clic el usuario y no asi al index.
Te recomiendo que cuando agregas algún source al foro, agrega solo lo necesario, cuando agregas un código con html y todo. Casi nadie mira el source.
Mira, cuando un usuario hace click a una noticia, lo que haces es redireccionar al login. Cuando el usuario ha sido redireccionado al login, en la cabecera esta una propiedad llamada referer, esta contiene la url de donde estabas.
Captura el valor del referer, que seria una url, lo guardas en una variable o en una sesion, si se ha iniciado sesion correctamente lo que haces es redireccionar a la url de donde estaba el usuario.
Saludos.