Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Problemas con redireccionamiento a post especifico, resuelto!

Hola de nuevo a todos, acabo de encontrar un problema en el que al momento de querer entrar a un nuevo post, se me sigue dirijiendo al primero, por ejemeplo:

digamos que acabo de crear este post:
https://datoweb.com/post/2710/imagenes-con-php-ayuda-urgente
y lo acabo me voy a mi seccion de entradas/listado y le doy click, si entra a ese,ahora el gran problemas es que cuando creo OTRO post, en lugar de entrar por asi decir al siguiente:
https://datoweb.com/post/2711/re-direccionamiento-en-loginphp
me sigue mostrando el contenido del anterior!....ojo solamente el contenido(titulo,contenido,autor,etc), las url amigable si trabajan bien al parecer, pero el contenido es lo mismo al primer post que cree.

NT: Los links aqui fueron tomados de eta misma website para dar a estender mi punto.
Editado
1
Puntos
562
Visitas
4
Resp
Por Kevin.Fonseca hace 23 meses
Principiante Sitio web
Respuesta #1
hola supongo que en verpost.php tienes una función que transforma la url seo en la id del post para obtener los datos de ese post, tiene pinta de ser dicha función que no obtiene la id correspondiente y siempre te saca la misma, es por eso que siempre ver los mismos datos.

deja las primeras lineas de ver post (donde ejecutas esa función) y la función completa de inc/funciones.php para que podamos ayudarte

salu2
0
Puntos
Por alber hace 23 meses
Administrador
Respuesta #2
o mejor dicho deja el php de la pagina verpost.php (solo la parte php de arriba) y la función que tienes en funciones.php
0
Puntos
Por alber hace 23 meses
Administrador
Respuesta #3
Perdon por la demora, fue de compras.
pues aqui el codigo que tengo en "ver_post.php":
<?php require_once('Connections/connection.php'); 

$_GET['date'] = UrlAmigables($_GET['date']);


$iddelpost= $_GET['date'];

$updateSQL = sprintf("UPDATE posts SET visitas= visitas +1 WHERE id=%s",
                       GetSQLValueString($iddelpost, "int"));

mysql_select_db($database_connection, $connection);
$Rwault1 = mysql_query($updateSQL, $connection) or die(mysql_error());

mysql_select_db($database_connection, $connection);
$query_ver_post = sprintf("SELECT * FROM posts WHERE id=%s",$iddelpost,"int");
$ver_post = mysql_query($query_ver_post, $connection) or die(mysql_error());
$row_ver_post = mysql_fetch_assoc($ver_post);
$totalRows_ver_post = mysql_num_rows($ver_post);
?>
Y aca el de las funciones :
//Url amigables
function UrlAmigables($seo)
{
	
	global $database_connection, $connection;
	mysql_select_db($database_connection, $connection);
	$query_Recordset13434 = sprintf ("SELECT posts.id FROM posts WHERE posts.urlamigable = '%s'" ,$seo);
	$Recordset13434 = mysql_query($query_Recordset13434, $connection) or die(mysql_error());
	$row_Recordset13434 = mysql_fetch_assoc($Recordset13434);
	$totalRows_Recordset13434 = mysql_num_rows($Recordset13434);

    return $row_Recordset13434['id'];
	mysql_free_result($Recordset13434);
 
}	

//Url amigables
function UrlAmigablesInvertida($seo)
{
	
	global $database_connection, $connection;
	mysql_select_db($database_connection, $connection);
	$query_Recordset13434 = sprintf ("SELECT posts.urlamigable FROM posts WHERE posts.id = '%s'" ,$seo);
	$Recordset13434 = mysql_query($query_Recordset13434, $connection) or die(mysql_error());
	$row_Recordset13434 = mysql_fetch_assoc($Recordset13434);
	$totalRows_Recordset13434 = mysql_num_rows($Recordset13434);

    return $row_Recordset13434['urlamigable'];
	mysql_free_result($Recordset13434);
 
}	
Y pues pondre mejor todo para darles mas posibles ideas para arreglarlo, asi que aqui el codigo php en dondde esta mi "listado"
<?php require_once('Connections/connection.php'); ?>
<?php

$maxRows_conseguir_post = 10;
$pageNum_conseguir_post = 0;
if (isset($_GET['pageNum_conseguir_post'])) {
  $pageNum_conseguir_post = $_GET['pageNum_conseguir_post'];
}
$startRow_conseguir_post = $pageNum_conseguir_post * $maxRows_conseguir_post;

mysql_select_db($database_connection, $connection);
$query_conseguir_post = "SELECT * FROM posts ORDER BY id ASC";
$query_limit_conseguir_post = sprintf("%s LIMIT %d, %d", $query_conseguir_post, $startRow_conseguir_post, $maxRows_conseguir_post);
$conseguir_post = mysql_query($query_limit_conseguir_post, $connection) or die(mysql_error());
$row_conseguir_post = mysql_fetch_assoc($conseguir_post);

if (isset($_GET['totalRows_conseguir_post'])) {
  $totalRows_conseguir_post = $_GET['totalRows_conseguir_post'];
} else {
  $all_conseguir_post = mysql_query($query_conseguir_post);
  $totalRows_conseguir_post = mysql_num_rows($all_conseguir_post);
}
$totalPages_conseguir_post = ceil($totalRows_conseguir_post/$maxRows_conseguir_post)-1;
?>
y aqui el documento en el cual tengo el diseno de las entradas "listado.php" ....asi que no creo que sea por andar usando Bootstrap .-.
<div class="col-md-8">
  <!-- post -->
  <?php do { ?>
  <article class="post animated fadeInLeft animation-delay-8">
  <div class="panel panel-default">
  <div class="panel-body">
  <h3 class="post-title"><a href="<?php echo $row_conseguir_post['urlamigable']; ?>.html" class="transicion"><?php echo $row_conseguir_post['titulo']; ?></a></h3>
  <div class="row">
  <div class="col-lg-6">
  <img src="<?php echo $urlWeb ?>/images/post/<?php echo $row_conseguir_post['imagen']; ?>" class="img-post img-responsive" alt="Image">
  </div>
  <div class="col-lg-6 post-content">
  <p>
  <?php echo $row_conseguir_post['descripcion']; ?>
  </p>
  </div>
  </div>
  </div>
  <div class="panel-footer post-info-b">
  <div class="row">
  <div class="col-lg-10 col-md-9 col-sm-8">
  <i class="fa fa-clock-o"></i> Sep 29, 2013 <?php echo $row_conseguir_post['fecha']; ?>
  <i class="fa fa-user"></i ><a href="profile.php" style="text-decoration: none; transition: all .25s ease;"><?php echo $row_conseguir_post['autor']; ?></a>
  <i class="fa fa-folder-open"></i>
  <a href="#" style="text-decoration: none; transition: all .25s ease;">Portfolio</a>, 
  <a href="#" style="text-decoration: none; transition: all .25s ease;">Design</a>.
  </div>
  <div class="col-lg-2 col-md-3 col-sm-4">
  <a href="post.php" class="pull-right" style="text-decoration: none; transition: all .25s ease;">Read more &raquo;</a>
  </div>
  </div>
  </div>
  </div>
</article>
  <?php } while ($row_conseguir_post = mysql_fetch_assoc($conseguir_post)); ?>
<!-- /post -->
</div>
y por ultimo el .htaccess
#Url amigables
Options +FollowSymlinks
#RewriteBase /
RewriteEngine on
 
RewriteRule ^(.+).html post.php?date=$1
0
Puntos
Por Kevin.Fonseca hace 23 meses
Principiante Sitio web
Respuesta #4
hola, parece estar todo bien, es posible que falte la función que formatea los caracteres en la función UrlAmigables es decir cambiar esto:
$query_Recordset13434 = sprintf ("SELECT posts.id FROM posts WHERE posts.urlamigable = '%s'" ,$seo);
por esto:
$query_Recordset13434 = sprintf ("SELECT posts.id FROM posts WHERE posts.urlamigable = '%s'" ,
  GetSQLValueString($seo,'text'));
supongo que estas usando esta función pero por si acaso te dejo un ejemplo:
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
	{
	  if (PHP_VERSION < 6) {
		$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
	  }
	
	  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
	
	  switch ($theType) {
		case "text":
		  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
		  break;    
		case "long":
		case "int":
		  $theValue = ($theValue != "") ? intval($theValue) : "NULL";
		  break;
		case "double":
		  $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
		  break;
		case "date":
		  $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
		  break;
		case "defined":
		  $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
		  break;
	  }
	  return $theValue;
	}
por lo demas todo bien, de no ser por esto podrías comprobar si el error esta a la hora de insertar en la basa de datos, comprueba que se insertan valores diferentes o se repiten

salu2
0
Puntos
Por alber hace 23 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate