Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2011, 19:56
Helmfrid
 
Fecha de Ingreso: mayo-2011
Mensajes: 66
Antigüedad: 13 años
Puntos: 0
error en codigo php

Hola a todos,
espero que me puedan ayudar en este error que me cruze, estoy creando una especie de muro simple para interactuar entre usuarios.. el tema me surgio al responder los mensajes, como yo me manejo con php y es lo que mas entiendo pero aca no entiendo como hacerlo.. el error esta en el codigo:

Código HTML:
Ver original
  1. <form name="loco" method="post" action="muro.php?name=<?=$name;?>">
  2. <textarea name="msg" wrap="off" style="width:480px; height: 20px;"  onkeypress="iSubmitEnter(event, document.guardar)"></textarea></form>

el codigo esta bien, pero cuando lo inserto dentro del

Código PHP:
Ver original
  1. while($row = mysql_fetch_array($q3)){

para que me aparesca el textarea en cada uno de los mensajes, al escribir el mensaje para responder salta error, este es la parte donde guarda el mensaje (esta incompleto porque es de prueba).

Código PHP:
Ver original
  1. if(isset($_POST['msg'])){
  2.  
  3. if($_POST['msg'] != ''){
  4. $name=$_SESSION['nick'];
  5. $mensaje=$_POST['msg'];
  6. $insert = mysql_query("INSERT INTO comentario(name,fecha,mensaje)
  7. values('$name',NOW(),'$mensaje')");
  8. }
  9. else {
  10. echo "error";
  11. }
  12. }

Pero si yo al textarea lo saco fuera del while me funciona.

Este es el codigo casi completo (por las dudas que pidan mas para solucionar bien el problema)

Código PHP:
Ver original
  1. <?
  2. require('conexion.php');
  3. user_login();
  4.  
  5. $name = $_GET['name'];
  6. if(!$name)
  7. {
  8.       $var="ERROR: El usuario no existe. Compruebe que la mayusculas o minisculas del usuario esten correctas.";
  9. echo "<script>alert('$var')</script>";
  10. echo "<SCRIPT LANGUAGE=javascript>window.history.go(-1)</SCRIPT>";
  11. }
  12. if(!isset($_GET['name']))
  13. {
  14.       $var="ERROR: El usuario no existe.";
  15. echo "<script>alert('$var')</script>";
  16. echo "<SCRIPT LANGUAGE=javascript> window.history.go(-1)</SCRIPT>";
  17. }else{  
  18.         $q = mysql_query("SELECT * FROM usuarios WHERE nick='".$name."'");
  19. $test = mysql_fetch_assoc($q);
  20. $id2 = $test['nick'];
  21. $id3 = $test['id'];
  22.  
  23. }
  24. if($name != $id2)
  25. {
  26.       $var="ERROR: El usuario no existe. Compruebe que la mayusculas o minisculas del usuario esten correctas.";
  27. echo "<script>alert('$var')</script>";
  28. echo "<SCRIPT LANGUAGE=javascript>window.history.go(-1)</SCRIPT>";
  29. }else{
  30. $q1 = mysql_query("SELECT * FROM comentario WHERE name='".$name."' ORDER BY id desc LIMIT 0, 10");
  31. $row = mysql_fetch_assoc($q1);
  32.  
  33. }
  34. if(isset($_POST['msg'])){
  35.  
  36. if($_POST['msg'] != ''){
  37. $name=$_SESSION['nick'];
  38. $mensaje=$_POST['msg'];
  39. $insert = mysql_query("INSERT INTO comentario(name,fecha,mensaje)
  40. values('$name',NOW(),'$mensaje')");
  41. }
  42. else {
  43. echo "error";
  44. }
  45. }
  46.  
  47. ?>
  48. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  49. <html>
  50. <head>
  51. <title>Instituto Almafuerte de Pilar</title>
  52. <meta content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
  53. </head>
  54. Hora:
  55. <script>
  56. miFecha = new Date()
  57. document.write(miFecha.getHours() + ":" + miFecha.getMinutes() + ":" + miFecha.getSeconds())
  58. </script>
  59.  
  60. <script language="javascript">
  61. function iSubmitEnter(oEvento, oFormulario){
  62.      var iAscii;
  63.  
  64.      if (oEvento.keyCode)
  65.          iAscii = oEvento.keyCode;
  66.      else if (oEvento.which)
  67.          iAscii = oEvento.which;
  68.      else
  69.          return false;
  70.  
  71.      if (iAscii == 13) oFormulario.submit();
  72.  
  73.      return true;
  74. }
  75. //-->
  76. </script>
  77. </head>
  78. <td width="90%" class="TitleColor">
  79.  <div id="contenido1">
  80. <form name="guardar" method="post" action="muro.php?name=<?=$name?>">
  81. Comparte tu estado:<br>
  82. <textarea name="comentario" wrap="off" style="width:573px; height: 50px;"  onkeypress="iSubmitEnter(event, document.guardar)"></textarea>
  83. </form>
  84. <?
  85.  
  86.  
  87. if(isset($_POST['comentario'])){
  88.  
  89. if($_POST['comentario'] != ''){
  90. $name=$_SESSION['nick'];
  91. $mensaje=$_POST['comentario'];
  92. $insert = mysql_query("INSERT INTO comentario(name,fecha,mensaje)
  93. values('$name',NOW(),'$mensaje')");
  94. }
  95. else {
  96. echo "error";
  97. }
  98. }
  99.  
  100. ?>
  101. <div align="center">
  102. <br>
  103. <hr width="200" noshade="noshade" color="#666666" />
  104. </div>
  105. <?php
  106. $q3 = mysql_query("SELECT * FROM comentario WHERE name='".$name."' ORDER BY id desc LIMIT 0, 10");
  107. while($row = mysql_fetch_array($q3)){
  108. ?>
  109. <table width="550"  border="0" cellpadding="0" cellspacing="0">
  110.   <tr>
  111.     <th width="70" align="center" scope="row" valign="top"><span class="TitleColor"><img src="/imagen_mostrar.php?idfoto=<?php
  112. $nombre = $row['name']; /* Aquedes obtener el nombre de cualquier modo */
  113. $consulta = "Select * from usuarios, tabla WHERE tabla.nombre = '$nombre' AND usuarios.nick = tabla.nombre"; /* Traducido seleccionar todos los campos de la tabla Usuarios y la tabla Foros, siempre y cuando el campo Nombre de la tabla foros tenga el valor de la variable nombre, y que el Campo Nombre de la tabla usuarios sea igual a el campo Nombre de la tabla Foro */
  114. $handler = mysql_query($consulta) or die("Error: <br>" . mysql_error()); /* Realizo la consulta y en caso de error muestro su descripci */
  115. if($handler){
  116.  $cantidad = mysql_fetch_object($handler); /* Mysql_Fetch_Object guarda en un arreglo los resultados (siempre y cuando se le especifique el campo) de la consulta que le hemos pasado por el primer parro */
  117.   if($cantidad->idfoto == null) { echo "1"; } else { echo "$cantidad->idfoto"; }
  118. }?>" height="50" width="50" /></span></th>
  119.     <td width="469" valign="top"> <strong><font color="blue"><? echo $row['name']; ?></font></strong><?  echo "<br />";  echo wordwrap($row['mensaje'], 30, "\n", 1);echo "</br>";?><font color="#CCCCCC" size="2px" ><div align="right"><? echo $row['fecha'];?>'<div id="ver_on1" style="display: block;"><a onclick="mostrar1('bloque<? echo $row['id']; ?>')" href="#">Comentar</a></div></div></font>
  120. </td>
  121.   </tr>
  122.   <tr>
  123.     <th width="70" scope="row"></th>
  124.     <td>
  125. <? $q2 = mysql_query("SELECT * FROM comentario WHERE indicador='".$row['id']."' ORDER BY id desc LIMIT 0, 10");
  126. while($exibir = mysql_fetch_array($q2)){?>
  127. <table  bgcolor="#33CC66">
  128. <tr>
  129. <th width="30" valign="top" scope="row"><img src="/imagen_mostrar.php?idfoto=<?php
  130. $nombre = $exibir['name']; /* Aquedes obtener el nombre de cualquier modo */
  131. $consulta = "Select * from usuarios, tabla WHERE tabla.nombre = '$nombre' AND usuarios.nick = tabla.nombre"; /* Traducido seleccionar todos los campos de la tabla Usuarios y la tabla Foros, siempre y cuando el campo Nombre de la tabla foros tenga el valor de la variable nombre, y que el Campo Nombre de la tabla usuarios sea igual a el campo Nombre de la tabla Foro */
  132. $handler = mysql_query($consulta) or die("Error: <br>" . mysql_error()); /* Realizo la consulta y en caso de error muestro su descripci */
  133. if($handler){
  134.  $cantidad = mysql_fetch_object($handler); /* Mysql_Fetch_Object guarda en un arreglo los resultados (siempre y cuando se le especifique el campo) de la consulta que le hemos pasado por el primer parro */
  135.   if($cantidad->idfoto == null) { echo "1"; } else { echo "$cantidad->idfoto"; }
  136. }?>" height="30" width="30" /></th>
  137. <td width="450" valign="top">
  138. <strong><font color="blue"><? echo $exibir['name']; ?></font></strong><? echo  $exibir['mensaje'];echo "</br>";?><font color="#CCCCCC" size="2px" ><div align="right"><? echo $exibir['fecha'];?></div></font>
  139. </td>
  140. </tr>
  141. </table>
  142. <?
  143. }
  144. ?>
  145. <form name="loco" method="post" action="muro.php?name=<?=$name;?>">
  146. <textarea name="msg" wrap="off" style="width:480px; height: 20px;"  onkeypress="iSubmitEnter(event, document.guardar)"></textarea>
  147. </td>
  148. </tr>
  149. </table>
  150. <hr width="550" align="left" noshade="noshade" color="#666666" />
  151. <?
  152.  
  153. }
  154.  
  155. ?>
  156. </script>
  157.  
  158. </html>


Espero que me ayuden, se los agradecere!!