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

Como mostrar el autor en la base de datos

Hola a todos, anteriormente, cree un post preguntando basicamente lo mismo, pero me di cuenta que en la base de datos me sssale un 0 en los autores de los post. Entonces mi duda es la siguiente: como puedo hacer para ue en base de datos, me aparesca el nombre del autor de los post, o, no necesariamente en la base de datos, sino como mostrar el autor. Me imagino que tendria que poner un codigo en conexion.php, pero no tengo mucha idea. Muchas gracias!!
0
Puntos
1525
Visitas
18
Resp
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #1
Aquí hay un tema similar
Aún no está solucionado pero quizás tengas algo que ya se respondió.

Hay dos formas de insertar el usuario a la base de datos, utilizando su ID que es única o utilizando su nombre de usuario. Si vas a utilizar el nombre de usuario debes tener programado para que no exista el mismo nombre más de una vez, porque supongamos que hay dos Jose, y uno crea un post, si al darle click al nombre del autor te lleva a un perfil podría haber confusión entre ambos.

¿Lo mejor? Hacerlo mediante la ID

En tu archivo conexion.php debes tener algo como
<?php 
$_SESSION['MM_Username']; 
$_SESSION['MM_Id'];
?>

Bueno, al momento de hacer el código, cuando vayas a colocar la parte de insertar, vas a insertar $_SESSION['MM_Id'];
Así.
<?php
mysql_query("INSERT INTO tabla (autor,titulo,post) VALUES (%s, %s, %s)",
                         GetSQLValueString($_SESSION['MM_Id'], "int"),
                         GetSQLValueString($_POST['titulo'], "text"),
                         GetSQLValueString($_POST['post'], "text"));
?>
Deberías haber insertado la ID del usuario en la tabla de la base de datos, al momento de mostrar el post te saldrá el número de la ID en vez del nombre, pero para eso se hace otro código para mostrar el nombre.. Lo que se tiene que hacer es hacer una consulta en la tabla de usuarios donde seleccionas el nombre de usuario al id que corresponde.
<?php
mysql_query("SELECT nombre FROM tabla_usuarios WHERE id=%s",$SacarPost['autor'],"int");
?>
:P
5
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #2
Hola jose, muchas gracias, pero me sale la id del usuario que inicio sesion y no la del que creo el post... Nose si sirve, pero yo tengo un codigo que toma la id del usuario y te saca el nombre, lo uso para cuando inicias sesion, con esto te sale el nombre del usuario. Saludos!!
0
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #3
¿En la base de datos se inserta correctamente la id del usuario que creó el post?
5
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #4
pon por aquí tu código de agregar.php o como se llame tu archivo y ademas pon tu login y el fragmento que con el cierras sesión para que podamos ver si el error esta en las variables de sesión como dice Jose
0
Puntos
Por alber hace 122 meses
Administrador
Respuesta #5
Jose: no, en la base de datos me dice 0...
Alber: agregar.php:
<?php require_once('Connections/conexion.php'); ?>
<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "user/postcuenta.php.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}
?>
<?php require_once('Connections/conexion.php'); ?>
<?php require_once('Connections/conexion.php'); 
if (!function_exists("GetSQLValueString")) {
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;
}
}
?>
<?php
mysql_select_db($database_conexion, $conexion);
$query_SacarPostHome = "SELECT * FROM z_posts ORDER BY z_posts.id DESC";
$SacarPostHome = mysql_query($query_SacarPostHome, $conexion) or die(mysql_error());
$row_SacarPostHome = mysql_fetch_assoc($SacarPostHome);
$totalRows_SacarPostHome = mysql_num_rows($SacarPostHome);
?>

<?php
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
?>
<?php
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO z_posts (titulo, seo, keywords, descripcion, mensajes, categoria, autor, fecha) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['titulo'], "text"),
                       GetSQLValueString($_POST['titulo'], "text"),
                       GetSQLValueString($_POST['keywords'], "text"),
                       GetSQLValueString($_POST['mensajes'], "text"),
                       GetSQLValueString($_POST['mensajes'], "text"),
                       GetSQLValueString($_POST['categoria'], "int"),
                       GetSQLValueString($_POST['autor'], "text"),
                       GetSQLValueString($_POST['fecha'], "text"));

  mysql_select_db($database_conexion, $conexion);
  $Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());

  $insertGoTo = "user/publicado.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> Crear Post</title>



<script src="ckeditor/ckeditor.js">

config.resize_minWidth = 900;
config.resize_minHeight = 700;
</script>

<link rel="shortcut icon" type="image/x-icon" href="img/12.ico">
<link rel="stylesheet" type="text/css" href="css/estilos.css"/>
<link href='http://fonts.googleapis.com/css?family=Istok+Web:400,700' rel='stylesheet' type='text/css'>
</head>

<body background="img/back.jpg" id="all">
<div id="principal">
  <div id="head"><a href="index.php"><img src="img/log.png" name="logo" width="275" height="72" id="logo" /></a><br />

  </div>
  <?php include("inc/menu.php"); ?>
  <div id="lefttt">
    <div id="section_ll">
      <form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
        <table width="380" height="271" >
          <tr valign="baseline">
            <td align="left" valign="middle">Titulo:<br /><input name="titulo" type="text" id="editurk" value="" size="32" />

          <tr valign="baseline">
            <td>
            
            
      <form action"" method="POST">
        <textarea name="mensajes" class="ckeditor" id=""></textarea>
      </form>
      <br />
      </td>
          </tr>
          <tr valign="baseline">
            <td>Etiquetas (Separarlas por una coma)<br />              
            <input name="keywords" type="text" id="editurk" value="" size="32" />
            <br />
            <br /></td>
          </tr>
          
          <tr valign="baseline">
            <td>Categoria<br />
              <select name="categoria">
              <option value="null" <?php if (!(strcmp(0, ""))) {echo "SELECTED";} ?>>-Seleccionar Categoria-</option>
              <option value="1" <?php if (!(strcmp(1, ""))) {echo "SELECTED";} ?>>1</option>
              <option value="2" <?php if (!(strcmp(2, ""))) {echo "SELECTED";} ?>>2</option>
              <option value="3" <?php if (!(strcmp(3, ""))) {echo "SELECTED";} ?>>3</option>
              
            </select>
            <br />
            <br /></td>
          </tr>
          <tr valign="baseline">
            <td><input name="agrr" type="submit" id="agrr" value="Agregar Post" /></td>
          </tr>
          
        </table>
        <input type="hidden" name="seo" value="" />
        <input type="hidden" name="descripcion" value="" />
        <input type="hidden" name="autor" value="<?php echo $_SESSION['MM_Username'];?>" />
        <input type="hidden" name="fecha" value="Publicado el <?php echo date("d/m/Y") . " a las " . date("H:i:s")?>" />
        <input type="hidden" name="MM_insert" value="form1" />
      </form>
      <p>&nbsp;</p>
    </div>
  </div>

</div>
</body>
</html>
<?php
mysql_free_result($SacarPostHome);
?>
Login.php:
<?php require_once('../Connections/conexion.php'); ?>

<?php
if (!function_exists("GetSQLValueString")) {
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;
}
}

?>



<?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['user'])) {
  $loginUsername=$_POST['user'];
  $password=md5($_POST['password']);
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "../index.php";
  $MM_redirectLoginFailed = "login_error.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_conexion, $conexion);
  
  $LoginRS__query=sprintf("SELECT user, password, id, estado FROM z_users WHERE user=%s OR email=%s AND password=%s AND estado=1",
    GetSQLValueString($loginUsername, "text"), 
	GetSQLValueString($loginUsername, "text"), 
	GetSQLValueString($password, "text")); 
   
  $LoginRS = mysql_query($LoginRS__query, $conexion) or die(mysql_error());
  $row_ObtenerDeUser = mysql_fetch_assoc($LoginRS);
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
	if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;	
	$_SESSION['MM_Id'] = $row_ObtenerDeUser['id'];      

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Inicia Sesion</title>
<link rel="shortcut icon" type="image/x-icon" href="../img/12.ico">
<link rel="stylesheet" type="text/css" href="../css/estilos.css"/>
<link href='http://fonts.googleapis.com/css?family=Istok+Web:400,700' rel='stylesheet' type='text/css'>
</head>

<body background="../img/back.jpg" id="all">
<div id="principal">
  <div id="head">
    <div id="head"><a href="../index.php"><img src="../img/log.png" name="logo" width="278" height="72" id="logo" /></a><br />

  </div>
  </div>
    <?php include("../inc/menu2.php"); ?>
  <div id="leftt">
    <div id="section_lo">
      <form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
        <table width="39%" height="194" align="center" id="tabula">
          <tr>
            <td height="62"><label for="nombre"></label>
              Nombre de Usuario o Email<br />
            <input type="text" name="user" id="nombrr" /></td>
          </tr>
          <tr>
            <td height="55"><label for="password"></label>
              Contrase&ntilde;a:<br />
            <input type="password" name="password" id="nombrr" x-webkit-speech placeholder="" /></td>
          </tr>
          <tr>
            <td height="67"><input type="submit" name="entrar" id="agrr" value="Enviar" /></td>
          </tr>
        </table>
      </form>
      
 
      
    </div>
  </div>
  <?php include("../inc/right2.php"); ?>
</div><div id="footer"><?php include("../inc/footer2.php"); ?>
</div>
</body>
</html>
conectado.php:
<div id="item_me2"><a href="mi_perfil.php"><?php echo nombre($_SESSION['MM_Id']) ?></a> | <a href="<?php echo $logoutAction ?>">Salir</a></div>
0
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #6
Bueno veo que cuando inicias sesión, declaras la variable del nombre.. Lo que pienso es si tendrás bien configurada la tabla de la base de datos, o sea revisa que "autor" sea VARCHAR y no INT.

Y otra cosa ¿por qué tienes un form dentro de otro form? jaja
<form action"" method="POST">
        <textarea name="mensajes" class="ckeditor" id=""></textarea>
</form>
Creo que deberías quitarle esos form a eso.
Saludos, cualquier cosa dinos (:
5
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #7
Hola jose, mira acabo de cambiar autor de int a carchar, gracias por eso!! Pero, no entiendo que tendria que poner para mostrar el autor, osea ya puse toods los codigos, pero nose que poner en ver_post.php, porque si pongo esto me saca mi id:
AUTOR: <?php echo $_SESSION['MM_Id'];?>
Gracias!!!
0
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #8
$_SESSION['MM_Id'];
Es la ID de tu sesión iniciada, debes colocar es lo que extrajiste de la consulta SELECT, para conseguir los datos del post. Disculpa que te pida tanto código pero si me muestras el código de ver_post.php podría ayudarte mejor George :P
10
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #9
Jajaja, no me pidas disculpas vos, yo te tendria que pedir por no entender esto... Aca te dejo el codigo de ver_post:
<?php require_once('Connections/conexion.php'); ?>
<?php require_once('Connections/conexion.php'); ?>
<?php error_reporting (0);?>


<?php
if (!function_exists("GetSQLValueString")) {
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;
}
}

if (!function_exists("GetSQLValueString")) {
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;
}
}

mysql_select_db($database_conexion, $conexion);
$query_Recordset1 = "SELECT * FROM z_posts";
$Recordset1 = mysql_query($query_Recordset1, $conexion) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

mysql_select_db($database_conexion, $conexion);
$query_Recordset2 = "SELECT * FROM z_posts";
$Recordset2 = mysql_query($query_Recordset2, $conexion) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);

mysql_select_db($database_conexion, $conexion);
$query_Recordset3 = "SELECT z_posts.categoria FROM z_posts";
$Recordset3 = mysql_query($query_Recordset3, $conexion) or die(mysql_error());
$row_Recordset3 = mysql_fetch_assoc($Recordset3);
$totalRows_Recordset3 = mysql_num_rows($Recordset3);
?>

<?php
mysql_query("INSERT INTO tabla (autor,titulo,mensajes) VALUES (%s, %s, %s)",
                         GetSQLValueString($_SESSION['MM_Id'], "int"),
                         GetSQLValueString($_POST['titulo'], "text"),
                         GetSQLValueString($_POST['mensajes'], "text"));
?>

<?php
mysql_query("SELECT user FROM z_users WHERE id=%s",$SacarPost['autor'],"int");
?>

<?php require_once('Connections/conexion.php'); 

$iddelpost= $_GET['date'];

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

  mysql_select_db($database_conexion, $conexion);
  $Result1 = mysql_query($updateSQL, $conexion) or die(mysql_error());

mysql_select_db($database_conexion, $conexion);
$query_SacarPostGet = sprintf("SELECT * FROM z_posts WHERE id=%s",$iddelpost,"int");
$SacarPostGet = mysql_query($query_SacarPostGet, $conexion) or die(mysql_error());
$row_SacarPostGet = mysql_fetch_assoc($SacarPostGet);
$totalRows_SacarPostGet = mysql_num_rows($SacarPostGet);


mysql_free_result($SacarPostGet);


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Rochester|Bree+Serif" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $row_SacarPostGet['titulo'];?></title>
<link rel="shortcut icon" type="image/x-icon" href="img/12.ico">
<link rel="stylesheet" type="text/css" href="css/estilos.css"/>
<link href='http://fonts.googleapis.com/css?family=Istok+Web:400,700' rel='stylesheet' type='text/css'>
</head>

<body background="img/back.jpg" id="all">
<div id="principal">
  <div id="head"><a href="index.php"><img src="img/log.png" name="logo" width="275" height="72" id="logo" /></a><br />

  </div>
  <?php include("inc/menu.php"); ?>
  <div id="verx">
  
<div id="section_post">
    <div class="titt" id="section_tito"> <?php echo $row_SacarPostGet['titulo'];?> - <span class="catego">
        </span> 
        <div class="catego"></div>
    
    
    
</div>


 
</div> 



<div id="containerd">
  <p><?php echo $row_SacarPostGet['mensajes'];?><br />
  AUTOR: <?php echo $_SESSION['MM_Id'];?>
<br />
  </p>
  
  <div id="post_infor"><?php echo $row_SacarPostGet['fecha']; ?> <span class="visit" id="visit"><strong><?php echo $row_SacarPostGet['visitas']; ?></strong> Visitas</span> <span class="visit" id="visit"><strong><img src="img/visitas.png" width="26" height="25" />&nbsp;&nbsp;</strong></span>      </div>
  
  <div id="post_info">

  <div id="fb-root">
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/es_ES/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script></div>

<div class="fb-share-button" data-type="button_count"></div>
  
&nbsp;
  
<a href="https://twitter.com/share" class="twitter-share-button" data-lang="es">Twittear</a><script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

<div class="g-plusone" data-size="medium"></div>
<script type="text/javascript">
  window.___gcfg = {lang: 'es'};

  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/platform.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>

<span class="pluginButtonLabel">

    Me gusta

</span>

<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo urlencode(get_permalink($post->ID)); ?>&layout=standard&show_faces=false&width=450&action=like&colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe> </p>

</div>
<br />
</div>
  </div>
</div>
</div>
</body>
</html>
<?php
mysql_free_result($Recordset1);

mysql_free_result($Recordset2);

mysql_free_result($Recordset3);

mysql_free_result($SacarPostHome);
?>
0
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #10
No vale, aquí estamos todos para aprender :P
Bueno amigo, vas a cambiar
$_SESSION['MM_Id'];
Porque como te decía, eso es la id de tu sesión iniciada, la cambiarás por ésto
$row_SacarPostGet[autor'];
Eso significa que es el autor del post. Pero antes debes hacer un pequeño cambio que es el siguiente. En ésta línea
mysql_query("SELECT user FROM z_users WHERE id=%s",$SacarPost['autor'],"int");
Al final tienes "int", eso significa que es un valor numérico, lo vas a cambiar por "text" que significa que es una cadena de texto.
5
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #11
No, espera me equivoqué, lo último no lo cambies. Con cambiar lo que te dije de $_SESSION ya bastaría.
5
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #12
Entonces, finalmente, lo que tengo oque hacer es, poner:

Esto que va en conexion (me da un "error" por decirlo asi, cuando no inicias sesion, se como ocultarlos, pero no se si esta bien ponerlo):
<?php 
$_SESSION['MM_Username']; 
$_SESSION['MM_Id'];
?>
Esto que lo puse en agregar.php, pero se lo agregue al codigo que ye tenia:
?>
<?php
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO z_posts (titulo, seo, keywords, descripcion, mensajes, categoria, autor, fecha) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['titulo'], "text"),
                       GetSQLValueString($_SESSION['MM_Id'], "int"),
                       GetSQLValueString($_POST['keywords'], "text"),
                       GetSQLValueString($_POST['mensajes'], "text"),
                       GetSQLValueString($_POST['mensajes'], "text"),
                       GetSQLValueString($_POST['categoria'], "int"),
                       GetSQLValueString($_SESSION['MM_Id'], "int"),//Solo modifique este que es el autor
                       GetSQLValueString($_POST['fecha'], "text"));

  mysql_select_db($database_conexion, $conexion);
  $Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());

  $insertGoTo = "user/publicado.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?>
Esto que tambien lo puse en ver_post y ademas en agregar.php:
<?php
mysql_query("SELECT user FROM z_users WHERE id=%s",$SacarPost['autor'],"int"); //Esto esta en la tabla users y no en post, que es donde tengo la id, no se si esta bien..
?>
Y finalmente para ver el autor, en ver_post puse esto:
$row_SacarPostGet['autor'];
Esta bien? porque en la base de datos sigue saliendo 0 y no entiendo que hago mal.
0
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #13
George no entendí eso de que se lo agregaste al código que ya tenías.. ¿O quieres decir que reemplazaste esa fracción de código?

Yo lo veo bien, pero que te salga 0 en la base de datos no entiendo. Verifica que la columna autor sea INT y no VARCHAR, anteriormente lo cambiaste pero con ese código estás introduciendo la ID del usuario y no el nombre, y la ID es un número. Aunque yo no creo que siendo un número, el VARCHAR no lo tome.. Pero por si acaso, intenta.

En conexion tienes el session_start(); al principio ¿no? así.
<?php 
session_start();
$_SESSION['MM_Username']; 
$_SESSION['MM_Id'];
?>
No entiendo que error te da, si puedes dime que error :P
Saludos bro.
5
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #14
Hola Jose, primero te digo algo, y luego respondo las dudas: Ya consegui que en el post salga la id del autor y no la del usuario que tenia la sesion iniciada, al final creo que era por lo de varchar y int que me pusiste, muchas gracias por eso!!
Eso del fragmento que agregue era un codigo que ya tenia, pero le cambie esa linea ,que me diste mas arriva, donde estaria el autor (Osea antes esa line era igual a las demas solo que decia autor). El error de conexiones lo solucione, creo que era porque ya tenia ese mismo fragmento mas arriva, asi que lo borre y listo!. Bien, ahora estoy viendo como cambiar esa id por el nombre. Vos me dejaste un codigo para hacer eso arriva:
<?php
mysql_query("SELECT nombre FROM tabla_usuarios WHERE id=%s",$SacarPost['autor'],"int");
?>
Pero lo que no entiendo son 2 cosas: Donde pongo el codigo.(lo puse en ver_post.php)
La segunda duda es que al principio seleccionas el nombre y la id de la tabla z_users, pero al final, seleccionas el autor, que esta en la tabla z_posts, entonces por eso creo que no me sale nada.
Mil disculpas por llenarte de todas estas dudas y muchisimas gracias por todo!!
0
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #15
Hola George, no hay que disculpar para eso estamos nos ayudamos unos con otros :D
Está bien, eso sí va en ver_post.php pero o sea esa línea de código te la di para que la terminaras de dasarrollar :B
Sería algo así..
<?php
$ObtenerUsername = mysql_query("SELECT nombre FROM tabla_usuarios WHERE id=%s",$SacarPost['autor'],"int");
if ($Username = mysql_fetch_assoc($ObtenerUsername)) {
    echo $Username['nombre'];
}
?>
Porque si colocas solo la línea de "SELECT nombre.... no hará nada, solo estarías seleccionando el nombre pero ¿cómo lo muestras? con las dos siguientes líneas. Espero te haya servido, cualquier cosa volvemos a escribirnos aquí amigo (:
0
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #16
Ahhh ya entendi, muchisimas gracias. Una ultima cosita, para mostrarlo como seria, algo asi?:
<?php echo $row_SacarPostGet['user'];?>
Mas arriva, el codigo que me diste lo deje asi:
   <?php
$ObtenerUsername = mysql_query("SELECT user FROM z_users WHERE id=%s",$SacarPost['autor'],"int");
if ($Username = mysql_fetch_assoc($ObtenerUsername)) {
    echo $Username['user'];
}
?>
No entiendo que esta mal.. Porque si en el primer codigo reemplazo user por autor, me sale la id, pero asi como esta no sale nada
0
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Respuesta #17
Debes usar el segundo amigo, en el primer código obtienes el autor del post que es un número, el ID del usuario. En el segundo código reemplazas ese número por un nombre, o sea el nombre de usuario que corresponde a ese número como ID. Por lo tanto, al final quedaría algo como:
Autor: <?php  echo $Username['user']; ?>
0
Puntos
Por Jose hace 122 meses
Experto Sitio web
Respuesta #18
Mmm no entiendo que estoy haciendo mal, para mostrar el autor pongo esto:
AUTOR: <?php  echo $Username['user']; ?>
Mas arriva, antes del head pongo esto:
 <?php
$ObtenerUsername = mysql_query("SELECT user FROM z_users WHERE id=%s",$SacarPost['autor'],"int");
if ($Username = mysql_fetch_assoc($ObtenerUsername)) {
    echo $Username['user'];
}
?>
Y no se que esta mal. Lo que creo que puede ser es que en este ultimo codigo, ponemos que seleccione "user" de "z_users" donde la "id" se igua a la que paso por parametro, y luego ponemos $SacarPost['autor'], pero el problema es que "autor" esta en la tabala z_posts, mientras que "user" e "id" estan en z_users. No se si sea eso el error..
0
Puntos
Por GeorgeHarrison hace 122 meses
Principiante
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate