Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error en mi codigo php indetectable

Estas en el tema de Error en mi codigo php indetectable en el foro de PHP en Foros del Web. buenas tengo un error en el cual no me sale nada, solo me dice 'Hubo un error al enviar el mensaje' que es el echo ...
  #1 (permalink)  
Antiguo 07/06/2015, 19:59
Avatar de mostaza4  
Fecha de Ingreso: octubre-2008
Mensajes: 74
Antigüedad: 15 años, 5 meses
Puntos: 0
Error en mi codigo php indetectable

buenas tengo un error en el cual no me sale nada, solo me dice 'Hubo un error al enviar el mensaje' que es el echo al final del script php. no logro encontrar el error si alguien me ayuda y capas lo ve se lo agradeceria

Código HTML:
<!DOCTYPE html>
<html>
<head>
	<title>Enviar mensaje</title>
</head>
<body>
<div id='contenidoMesj'>
	<h1>Envia tu mensaje</h1>
	<form action="controlador.php" method="post">
		<ul>
			<li><input type="text" name="asunto" placeholder='Asunto'></li>
			<li><input type="text" name="cuerpo" placeholder='Escribe lo que quieras enviar'></li>
			<li><input type="text" name="destino" placeholder='Numero destino'></li>
				<input type="hidden" name='id' value='2'>
				<input type="hidden" name='respuesta' value='1'>

			<li><input type="submit" value='Enviar'></li>


		</ul>
	</form>
</div>

</body>
</html> 
Código PHP:
<?php 
include('cnx.php');


$fecha = new DateTime('NOW');
$fecha$fecha->format('c'); // ISO8601 formated datetime

$array = array(
    
"usuario" => $_POST['id'],
    
"asunto" => $_POST['asunto'],
    
"cuerpo" => $_POST['cuerpo'],
    
"leido" => 0,
    
"respuesta" => $_POST['respuesta'],

 );
 
$destinos $_POST['destino'];

function 
enviar_msj($array$destinos$fecha$cnx){
    
$consulta="INSERT INTO mensaje (usuario_msje, asunto_msje, cuerpo_msje, leido_msje, id_mensaje_msje, fecha_msje)
     VALUES ("
.$array['usuario'].", ".$array['asunto'].", ".$array['cuerpo'].", ".$array['leido'].", ".$array['respuesta']." , ".$fecha.")";
    
$sql=mysql_query($consulta$cnx);
    

    
$consulta="SELECT numero_msje FROM mensaje WHERE usuario_msje=".$array['usuario']." AND cuerpo_msje= '".$array['cuerpo']."'";
    
$sql2=mysql_query($consulta$cnx);
    
    
$id_mensaje=mysql_fetch_assoc($sql2MYSQL_ASSOC);
    
    
//foreach($destinos as $valor){
        
$consulta="INSERT INTO destinos (usuario_dest, mensaje_dest) VALUES (".$destinos.", ".$id_mensaje['numero_msje'].")";
        
$sql3=mysql_query($consulta$cnx);
    
//}

    
if($sql){
        return 
TRUE;
    }else{
        return 
FALSE;
    }

}

$enviar=enviar_msj($array$destinos$fecha$cnx);
if(
$enviar==TRUE){
    echo 
'Mensaje enviado';
}else{
    echo 
'Hubo un error al enviar el mensaje';
}
?>
Gracias
  #2 (permalink)  
Antiguo 07/06/2015, 22:51
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Error en mi codigo php indetectable

Prueba poner en cada mysql_query($consulta, $cnx);
algo asi:

mysql_query($consulta, $cnx) or die(mysql_error()."<br><br>".$consulta);

eso te mostrará el error
  #3 (permalink)  
Antiguo 08/06/2015, 02:01
 
Fecha de Ingreso: abril-2015
Ubicación: Castelldefels
Mensajes: 76
Antigüedad: 9 años
Puntos: 3
Respuesta: Error en mi codigo php indetectable

Hola mostaza4

No veo por donde le estás enviando el usuario...
  #4 (permalink)  
Antiguo 08/06/2015, 03:12
 
Fecha de Ingreso: abril-2012
Mensajes: 87
Antigüedad: 12 años
Puntos: 1
Respuesta: Error en mi codigo php indetectable

Puede ser que este enviado las variables sin sus respectivas comillas, el problemas es que le estas enviado valores enteros a un campo varchar, prueba con esto:

Código PHP:
Ver original
  1. $consulta="INSERT INTO mensaje (usuario_msje, asunto_msje, cuerpo_msje, leido_msje, id_mensaje_msje, fecha_msje)
  2.     VALUES (".$array['usuario'].",'".$array['asunto']."','".$array['cuerpo']."', ".$array['leido'].", ".$array['respuesta']." , '".$fecha."')";

Lo que he cambiado del código es que a los que quieres enviar como tipo string debes poner unas comillas para decirle que es string y no int. EJ:

Código PHP:
Ver original
  1. '".$array['asunto']."' //envías en formato string
  #5 (permalink)  
Antiguo 08/06/2015, 08:00
Avatar de mostaza4  
Fecha de Ingreso: octubre-2008
Mensajes: 74
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Error en mi codigo php indetectable

Gracias a todos, se soluciono con ponerle comillas a asunto, cuerpo y fecha

Gracias son GROSOS!

Etiquetas: fecha, html, mysql, select, sql
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 04:35.