Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2011, 14:42
elecs
 
Fecha de Ingreso: julio-2010
Mensajes: 17
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación Quien me ayuda con este problema?

Estoy en busca de alguien que me ayude a detectar el error en estos codigo, porque de verdad me he matado buscandolo y no me vendria mal un poco de ayuda...

Tengo este formulario:

Código HTML:
Ver original
  1. <script type="text/javascript">
  2.     function max(campo, maximo) {
  3.       if(campo.value.length > maximo){
  4.        campo.value= campo.value.substring(0, maximo);
  5.       }
  6.       document.getElementById('post_cont').innerHTML=maximo - campo.value.length;
  7.     }
  8.   </script>
  9.   <script type="text/javascript">
  10.     $(document).ready(function () {
  11.     $('textarea#post_text').autoResize();
  12.   });
  13.               <form action="post.php" id="post_perfil" method="post" name="form_post" >
  14.               <div style="text-align:center">
  15.                 <textarea id="post_text" name="rollo" style="background-color:#CCC; text-align:left; width:500px; font-family:'Buxton Sketch'; font-size:1em"  onkeydown="max(this,600)"></textarea>
  16.               </div>
  17.               <div style="text-align:center">
  18.               <table style="width:100%">
  19.                <tr>
  20.                 <td style="width:50%; text-align:right;">
  21.                 <input name="Botón" type="submit" style="font-family:'Buxton Sketch'; font-size:1.2em; left:20%; position:relative;" value="Publicame" />
  22.                 </td>
  23.                 <td style="width:50%; text-align:center ">
  24.                 <div style="width:230px; text-align:right">Te quedan:
  25.                   <label id="post_cont" style=""> 600 </label>
  26.                   Caracteres</div>
  27.                 </td>
  28.                </tr>
  29.               </table>
  30.               </div>
  31.               </form>

El formulario manda el contenido del textarea a esta pagina:

Código PHP:
Ver original
  1. <?
  2. include('../config.php');
  3. $user=$_SESSION['user'];
  4. $sql="SELECT * FROM users WHERE nick='$user'";
  5. $resultado=mysql_query($sql,$con);
  6. $datos = mysql_fetch_array($resultado);
  7. $post = $_POST['rollo'];
  8. $car = "\'";
  9. $id = date("dmYgisa");
  10. $divI='<div id="' . $id . '" style="width:500px; text-align:justify; left:50%; margin-left:-250px"><a id="' . $id . '_a" href="javascript:void(0)" onClick="borrar('. $car . $id . $car. ')"><img src="http://cdn.iconfinder.net/data/icons/function_icon_set/cancel_48.png" height="20" width="20" style=" position:absolute; margin-left:-25px"/></a>';
  11. $divM = '</div><hr color="#CCCCCC" style="margin-bottom:10px; margin-top:10px"/>';
  12. $fecha = '<div style="text-align:right"><strong>' . date("d/m/Y g:i a") .' '. '</strong></div>';
  13.  
  14. if($_POST[rollo] == ''){
  15.     echo'<script type="text/javascript">history.back();</script>';
  16. }else{
  17.     if ($datos[12]==''){
  18.         $post_portada_content = $divI . $post . $fecha . $divM;
  19.         mysql_query("UPDATE users SET post='$post_portada_content' WHERE nick='$user'");
  20.         echo'<script type="text/javascript">parent.location="perfil.php?'. $user .'"</script>';
  21.     }else{
  22.         $post_portada_content = $divI . $post . $fecha . $divM . $datos[12];
  23.         mysql_query("UPDATE users SET post='$post_portada_content' WHERE nick='$user'");
  24.         echo'<script type="text/javascript">parent.location="perfil.php?'. $user .'"</script>';
  25.     }
  26. }
  27. ?>

el codigo debe hacer una consulta a la base de datos y agrega codigo a la variable $_POST y lo guarda en la base de datos. luego redirecciona nuevamente a la pagina donde estaba el formulario.

y un div con una instruccion echo lo muestra:

Código HTML:
Ver original
  1. <div id="post_portada">
  2.               <? if ($datos[12]==''){}
  3.               else {echo $datos[12];} ?>
  4.             </div>

si analizaron el codigo cuando en la base de datos no hay texto o:

Código PHP:
Ver original
  1. if ($datos[12]==''){
  2.         $post_portada_content = $divI . $post . $fecha . $divM;
  3.         mysql_query("UPDATE users SET post='$post_portada_content' WHERE nick='$user'");

si guarda "$post_portada_content" pero en:

Código PHP:
Ver original
  1. }else{
  2.         $post_portada_content = $divI . $post . $fecha . $divM . $datos[12];
  3.         mysql_query("UPDATE users SET post='$post_portada_content' WHERE nick='$user'");

no la guarda...

otro dato interesante es que quitando la variable "$datos[12]" en:

Código PHP:
Ver original
  1. }else{
  2.         $post_portada_content = $divI . $post . $fecha . $divM . $datos[12];
  3.         mysql_query("UPDATE users SET post='$post_portada_content' WHERE nick='$user'");

si lo guarda, pero con la variable no...
yo se que es medio larguito el codigo pero bueno si alquien encuentra algo y me puede ayudar le estare muy agradecido....

Última edición por elecs; 24/02/2011 a las 15:53 Razón: nuevo dato