Foros del Web » Programando para Internet » PHP »

Problema al extraer el valor de un textarea

Estas en el tema de Problema al extraer el valor de un textarea en el foro de PHP en Foros del Web. Buenas, estoy con poco desconsertado porque algo que parece sencillo me está quemando la cabeza y se está comiendo los nervios. No puedo extraer el ...
  #1 (permalink)  
Antiguo 16/12/2008, 12:37
Avatar de pabloaltamirano22  
Fecha de Ingreso: junio-2008
Ubicación: Viena
Mensajes: 203
Antigüedad: 15 años, 9 meses
Puntos: 5
Problema al extraer el valor de un textarea

Buenas,

estoy con poco desconsertado porque algo que parece sencillo me está quemando la cabeza y se está comiendo los nervios.

No puedo extraer el valor de un textarea:

Código PHP:
<textarea name="mensaje" rows="15" cols="55"></textarea></td
luego, le agregé la etiqueta:

Código PHP:
<?php echo $mensaje?>
y me dice que la variable no está definida, pero... tengo que definirla como variable?

acepto cualquier sugerencia porque ya estoy descvoncertado y tengo que termianr esto hoy.

Grax
__________________
Paulo
  #2 (permalink)  
Antiguo 16/12/2008, 12:40
Avatar de Snd234  
Fecha de Ingreso: mayo-2007
Ubicación: Frente al PC
Mensajes: 413
Antigüedad: 16 años, 10 meses
Puntos: 2
Respuesta: Problema al extraer el valor de un textarea

Cuando envías los datos del formulario a una pagina, esta quedan almacenados en la variable $_POST o $_GET, dependiendo del metodo con el cual especificaste enviarlo. Para tu caso, si enviaste el formulario con el mensaje mediante el metodo POST, deberas obtener el valor de ese campo asi:

Código PHP:
echo $_POST["mensaje"]; 
__________________
KIBIT.cl
  #3 (permalink)  
Antiguo 16/12/2008, 12:48
Avatar de pabloaltamirano22  
Fecha de Ingreso: junio-2008
Ubicación: Viena
Mensajes: 203
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Problema al extraer el valor de un textarea

Hola,

muchas gracias por responderme, la cuestion es que estoy enviando los datos por medio de la funcion mail().

aunque el codigo es un poco largo es entendible, lo dejo a ver que me pueden sugerir

Código PHP:
<?php
//incluímos la clase ajax
require_once ("xajax/xajax_core/xajax.inc.php");

//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->configure('decodeUTF8Input',true);

//registramos la función creada anteriormente al objeto xajax
$xajax->register(XAJAX_FUNCTION,"procesar_formulario");

//funcion para procesar los datos del formulario
function procesar_formulario($form_entrada){
   
//creo el xajaxResponse para generar una salida
   
$respuesta = new xajaxResponse();
   
$respuesta->setCharacterEncoding('ISO-8859-1');

   
$destinatario "[email protected]";
   
$nombre $form_entrada["nombre"];
   
$email $form_entrada["email"];
   
$asunto $form_entrada["asunto"];
   
   
//validación
   
$error_form "";
    if (
$nombre == "")
        
$error_form "Por favor escribe tu nombre";
    elseif (
$email == "")
      
$error_form "Por favor escribe tu correo electronico";
    elseif (
$asunto == "")
      
$error_form "Por favor escribe el asunto del mensaje";
      
   
//compruebo resultado de la validación
   
if ($error_form != ""){
      
//Hubo un error en el formulario
      //en la capa donde se muestran mensajes, muestro el error
      
$respuesta->assign("mensaje","innerHTML","<span style='color:red;'>$error_form</span>");
   }else{
        
//es que no hubo error en el formulario
        //$salida = "Gracias $nombre por escribirnos, el mensaje $asunto sera respondido a la brevedad al correo electronico $email";
        
        //////// Esta linea es solo para ver el valor del textarea "mensaje", así como está me da un error
        
$salida $mensaje;
        
/////////////////////////////////////////////////////////////////
        
        
$headers "From $nombre $email\n";
      
        
//mostramos en capa mensaje el texto que está todo correcto
        
$respuesta->assign("mensaje","innerHTML","<span style='color:blue;'>Mensaje enviado correctamente</span>");
        
//escribimos en la capa con id="capaformulario" el texto que aparece en $salida
        
$respuesta->assign("capaformulario","innerHTML",$salida);
   
        
//mail($destinatario,$asunto,$mensaje,$headers);
   
}
   
    
//tenemos que devolver la instanciación del objeto xajaxResponse
    
return $respuesta;
    
}

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
<html>
<head>
   <title>Enviar y procesar un formulario con Ajax y PHP</title>
   <?php
   
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
   
$xajax->printJavascript("xajax/");
   
?>
</head>

<body>

<div id="mensaje">
<p>Completa los campos con tus datos, agrega tu mensage y el asunto y pulsa "Enviar"</p>
</div>
<div id="capaformulario">
<form id="formulario">
<table align="left" cellspacing="0" cellpadding="1" border="0" width=400>
<tr>
    <td><b>Nombre</b></td>
    <td><b>Correo electronico</b></td>
</tr>
<tr>
    <td><input type="text" name="nombre" maxlength="55" value="" size="28"></td>
    <td><input type="text" name="email" maxlength="55" value="" size="28"></td>
</tr>
<tr>
    <td><b>Asunto: </b></td>
</tr>
<tr>
    <td><input type="text" name="asunto" maxlength="55" value="" size="28"></td>
</tr>
<tr>
    <td><b>Mensaje</b></td>
</tr>
<tr>
    <td><textarea name="mensaje" rows="15" cols="55"></textarea></td>
</tr>
<tr>
    <td colspan="2" align="center"><input type="button" value="Enviar" onclick="xajax_procesar_formulario(xajax.getFormValues('formulario'))" /></td>
</tr>
</table>
</form>
</div>

</body>
</html>
Gracias de antemano
__________________
Paulo
  #4 (permalink)  
Antiguo 16/12/2008, 13:37
Avatar de pabloaltamirano22  
Fecha de Ingreso: junio-2008
Ubicación: Viena
Mensajes: 203
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Problema al extraer el valor de un textarea

ya lo solucioné, era una estupidez

Código PHP:
$message $form_entrada["mensaje"]; 
estoy tan quemado que no me dí cuenta. Mis disculpas.

__________________
Paulo
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 17:42.