Foros del Web » Programando para Internet » PHP »

[Ayuda] Error en codigo para enviar mensajes

Estas en el tema de [Ayuda] Error en codigo para enviar mensajes en el foro de PHP en Foros del Web. No se si va acá el post, de no serlo asi, que los moderadores lo muevan a su respectiva seccion y disculpen las molestias. Soy ...
  #1 (permalink)  
Antiguo 17/02/2010, 07:54
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 2 meses
Puntos: 0
[Ayuda] Error en codigo para enviar mensajes

No se si va acá el post, de no serlo asi, que los moderadores lo muevan a su respectiva seccion y disculpen las molestias.
Soy nuevo tanto en el foro como en la programacion.
Encontre este codigo pero me salta un error y no entiendo que es.
Tengo conocimientos basicos de PHP y puedo entender las cosas, pero esto ma ha superado.

El codigo lo saque de http://juegodenavegador.wordpress.com/2010/01/16/sistema-de-mensajeria/


Código PHP:
<?php

$id 
= @$_GET['id'];

if(
$id == NULL)

{

echo 
"";

}

else

{

if(
$id == bannet)

{
require(
"coneccion.php");
$consulta mysql_query("SELECT * FROM mensajeria WHERE usuario = '$user' ORDER BY id"$con) or die('Error en la Base de Datos’);
while($row = mysql_fetch_array($consulta))
{
echo “Remitente:$row['
remitente']Fecha:$row['fecha']Mensaje$row['mensaje];
}
}
else
{
if(
$id == enviad)
{
?>

El error qe me da es este: Parse error: parse error, expecting `T_STRING’ or `T_VARIABLE’ or `T_NUM_STRING’ in C:\xampp\htdocs\sistemademansajeria.php on line 69

Y la linea 69 es la parte de : echo “Remitente:$row['remitente']Fecha:$row['fecha']Mensaje$row['mensaje']“;

Espero puedan ayudarme!
Muchas gracias ;)
Gracias amigos de FDW :)
  #2 (permalink)  
Antiguo 17/02/2010, 08:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: [Ayuda] Error en codigo para enviar mensajes

Porque no es esa la forma correcta de insertar un array dentro de una cadena, debe ser:
Código PHP:
Ver original
  1. echo "Remitente:$row[remitente]Fecha:$row[fecha]Mensaje$row[mensaje]";
Lee esto:
http://www.forosdelweb.com/f18/como-...s-bien-588701/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 17/02/2010, 09:38
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: [Ayuda] Error en codigo para enviar mensajes

Cita:
Iniciado por David Ver Mensaje
Porque no es esa la forma correcta de insertar un array dentro de una cadena, debe ser:
Código PHP:
Ver original
  1. echo "Remitente:$row[remitente]Fecha:$row[fecha]Mensaje$row[mensaje]";
Lee esto:
[url]http://www.forosdelweb.com/f18/como-usar-las-comillas-bien-588701/[/url]

Muchas gracias!! Ya estoy leyendo el link qe me pasaste asi no vuelvo a cometer el mismo error con las comillas!

Abrazo!





PD: Me tendria qe haber dado cuenta con los colores, hasta cuando lo pegue aca los colores me mostraban que estaba mal puesto! xD

Última edición por NedFock; 17/02/2010 a las 09:53 Razón: Me falto algo xD
  #4 (permalink)  
Antiguo 17/02/2010, 16:37
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación Respuesta: [Ayuda] Error en codigo para enviar mensajes

Ahora tengo otro problema de codigo en el mismo codigo


Código PHP:
 <?php

$i 
1;
$nuevos 0;


$query mysql_query ("SELECT * FROM mensajes order by fecha DESC");

while ( 
$row mysql_fetch_array($query) ) {

    if ( 
$row['para'] == $user) { 

if ( 
$row[leido] < ) {
    
$nuevos $nuevos +1;
}

if ( 
$row[leido] < ) {
    
$mensajesnuevos .= "</B>";
}

    
$tiene "Si";
    
$i $i+1;
    }


}

if ( 
$nuevos == ) {
$nuevos "Ninguno";
}
    if ( 
$tiene != "Si" ) {

    echo 
"<font size=1 face=Tahoma>(0), $user";

    }
    else {
    
$j $i -1;
    echo 
"<font size=1 face=Tahoma>Tienes <b>$j</b> mensajes.<br><B>$nuevos</b> son nuevos.";

    }
?>


El error es:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\menu.php on line 18


y la linea 18 seria la parte de: while ( $row = mysql_fetch_array($query) ) {






Tambien tengo un error en
Código PHP:
else {

$sqlmysql_query("SELECT * FROM mensajes WHERE para = $user ORDER by msgid DESC");

while (
$row mysql_fetch_array($sql) ){

$asunto $row['asunto'];
$resto substr($asunto040);
$aydi $row['msgid']; 
Donde el error esta en la parte de: while ($row = mysql_fetch_array($sql) ){


Los dos errores estan basicamente en las mismas sentencias. Que es lo qe estoy haciendo mal?


Espero puedan ayudarme!
Gracias nuevamente!
  #5 (permalink)  
Antiguo 17/02/2010, 16:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 152
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: [Ayuda] Error en codigo para enviar mensajes

Pues mira básicamente no veo donde te conectas con la base de datos, el error que te esta enviando es porque no arroja ningun tipo de resultados tu consulta y esto puede ser debido a que no te has conectado a tu base de datos, Si el codigo que muestras es tu codigo completo, te hace falta la coneccion a la BD, si te fijas en el primer codigo que posteaste tiene esta linea

Código PHP:
require("coneccion.php"); 
La cual conecta con otro PHP que debe contener la coneccion con la base de datos

Saludos
  #6 (permalink)  
Antiguo 17/02/2010, 18:15
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: [Ayuda] Error en codigo para enviar mensajes

Cita:
Iniciado por kalvera85 Ver Mensaje
Pues mira básicamente no veo donde te conectas con la base de datos, el error que te esta enviando es porque no arroja ningun tipo de resultados tu consulta y esto puede ser debido a que no te has conectado a tu base de datos, Si el codigo que muestras es tu codigo completo, te hace falta la coneccion a la BD, si te fijas en el primer codigo que posteaste tiene esta linea

Código PHP:
require("coneccion.php"); 
La cual conecta con otro PHP que debe contener la coneccion con la base de datos

Saludos


El codigo completo es este.... en el anterior ya lo solucione con lo qe me dijiste... pero este me esta complicando
Código PHP:
<?
include("../coneccion.php"); //../coneccion a la BD MYSQL
include("../header.php");
if(
$accion == "borrar"){

$SQLborrar "DELETE FROM mensajes WHERE msgid IN(".implode(', '$HTTP_POST_VARS['mens']).")";
mysql_query($SQLborrar);

echo 
"<font face=Tahoma size=2><b>Mensaje Borrado</b>";

} else {

$sqlmysql_query("SELECT * FROM mensajes WHERE para = $user ORDER by msgid DESC");
while ( 
$row mysql_fetch_array($sql) ) {


$asunto $row['asunto'];
$resto substr($asunto040);
$aydi $row['msgid'];

echo 
"
<tr><td bgcolor=#EEEEEE width=10><font face=Tahoma size=1><input type=checkbox name=\"mens[]\" value=$aydi></font></td>
<td bgcolor=#EEEEEE
<font face=Tahoma color=black size=1><center><i>"
.$row['de']."</i></center></font></td>
<td bgcolor=#EEEEEE><a href=leer_privados2.php?id="
.$row['msgid']."><font face=Tahoma color=black size=1><u>$resto..</u></a></font></td>
<td bgcolor=#EEEEEE width=100><font face=Tahoma color=black size=1>"
.$row['fecha']."</font></td></tr>";


}
echo 
"</table><br><table width=340 align=center cellspacing=2 cellpadding=2>
<tr><td><input type=radio name=accion value=borrar>
<font face=Tahoma size=1> Borrar</font></td>
<td><input type=radio name=accion value=responder>
<font face=Tahoma size=1> Responder</font></td>
<td><a href=enviar_privados.php>
<font face=Tahoma size=1 color=\"black\"> <u>Enviar Mensaje</u></font></td>
<td><input type=\"submit\" value=\"Enviar\"></td>
</table></form>"
;

}
?>


la linea 16 es esta while ( $row = mysql_fetch_array($sql) ) {
  #7 (permalink)  
Antiguo 17/02/2010, 19:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: [Ayuda] Error en codigo para enviar mensajes

¿De dónde obtienes el valor de la variable $user? Además, si para es un campo de texto, el valor debe ir entre comillas:
Código MySQL:
Ver original
  1. para = '$user'
Imprime el valor de mysql_error() para obtener una descripción más detallada del problema.

P.S.: No uses $HTTP_POST_VARS, usa $_POST
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 17/02/2010, 19:18
 
Fecha de Ingreso: febrero-2010
Mensajes: 107
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: [Ayuda] Error en codigo para enviar mensajes

Listo, cambiado a $_POST
$user sale de el archivo coneccion

Listo, problema solucionado! Muchas gracias David!
Leere mas sobre comillas ya que el error qe me corregiste hoy era más de lo mismo.

Etiquetas: enviar, mensajes
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:33.