Foros del Web » Programando para Internet » PHP »

Aparece $nick en vez del contenido de la variable

Estas en el tema de Aparece $nick en vez del contenido de la variable en el foro de PHP en Foros del Web. Tengo este código que recoge los datos de un formulario: <?php $tumail= "[email protected]" ; $subject="Correo de $nick"; if (@mail($tumail, $subject, "$nick mando su direccion $direccion ...
  #1 (permalink)  
Antiguo 25/06/2005, 18:46
 
Fecha de Ingreso: diciembre-2004
Mensajes: 149
Antigüedad: 13 años
Puntos: 0
Aparece $nick en vez del contenido de la variable

Tengo este código que recoge los datos de un formulario:



<?php
$tumail= "[email protected]" ;
$subject="Correo de $nick";
if (@mail($tumail, $subject, "$nick mando su direccion $direccion y su correo $email")){
echo('<p>Gracias $nick. Tu correo ha sido enviado con éxito.</p>');
} else {
echo('<p>No se puedo enviar el correo intentelo de nuevo.</p>');
}
?>



Pero cuanso sale la pantalla de confiormacioón aparece esto:


Gracias $nick. Tu correo ha sido enviado con éxito.


¿Qué está mal?

Gracias
  #2 (permalink)  
Antiguo 25/06/2005, 19:25
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 9 meses
Puntos: 17
probá con
echo('<p>Gracias ' . $nick . '. Tu correo ha sido enviado con éxito.</p>');
  #3 (permalink)  
Antiguo 26/06/2005, 02:10
 
Fecha de Ingreso: diciembre-2004
Mensajes: 149
Antigüedad: 13 años
Puntos: 0
Ahora funciona correctamente, muchas gracias Seppo.

Me gustaría hacer un php intermedio entre el formulario y el envio de forma que muestre los resultados y de la opción de volver a atrás para corregir alguno o de enviar definitivamente, pero no tengo ni idea de cómo hacerlo. ¿Puedes ayudarme?

Y una cosa más. En el Return-Path del correo que se recibe aparece "Nobody". ¿Sería posible que aparecuera algo como el email del que envía el formulario?

Muchas gracias

Última edición por Alejo; 26/06/2005 a las 02:20
  #4 (permalink)  
Antiguo 26/06/2005, 03:07
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 12 años, 7 meses
Puntos: 0
$message= "$nombre envia este mensaje:\r\n $mensaje";
mail("$para", "$asunto", "$message",
"From: $de\r\n" .
"X-Mailer: PHP/" . phpversion()

creo que es asi, esque no lo e probado


Lo de tu script, de porque aparecia $nick envez del nombre es porque lo pusiste entre ' y ' (comillas simples) y cuando pones algo entre comillas simples lo que esta dentro es pasado tal y como esta sin que sea parseado, tambien se pudo haber solucionado poniendolo entre " y " (comillas dobles)

Lo de una vista previa, no se como
__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
  #5 (permalink)  
Antiguo 26/06/2005, 04:08
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Haciendo uso del buscador:
http://www.forosdelweb.com/showthrea...t=vista+previa

... aclarar que eso lo que concierne a PHP.. siendo "vista previa" quizá igual te intereze la forma de haerlo con JavaScript... dicha forma de trata en las FAQ de aquel foro.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 26/06/2005, 15:27
 
Fecha de Ingreso: diciembre-2004
Mensajes: 149
Antigüedad: 13 años
Puntos: 0
Gracias Dvd AdN, pero no fucniona.

Este el el cídgo que tengo puesto:



$tumail= "[email protected]";
$subject="Mensaje desde www.midominio.com de $nick de $ciudad";
if (@mail($tumail, $subject, "$nick de $ciudad $correo, escribió:
$comentario

Y funciona bien, pero en el Return-Path del email dice obody"


Si hago esto:


$tumail= "[email protected]";
$from= "$correo";
$subject="Mensaje desde www.midominio.com de $nick de $ciudad";
if (@mail($tumail, $from, $subject, "$nick de $ciudad $correo, escribió:
$comentario



resulta que me pone la dirección email de quien envia el mensaje en el subject. Pero no sé como conseguir que el correo que se envia desde aquí lleve como Return-Path la dirección de emailk de quien remite el mensaje.

Espero que alguien pueda ayudarme,

Gracias
  #7 (permalink)  
Antiguo 27/06/2005, 00:52
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 12 años, 7 meses
Puntos: 0
creo que no me entendiste

Cita:
$tumail= "[email protected]";
$from= "$correo";
$subject="Mensaje desde www.midominio.com de $nick de $ciudad";
if (@mail($tumail, $from, $subject, "$nick de $ciudad $correo, escribió:
$comentario
From, no lo tienes que poner como variable, es una cabecera para el mensaje

mail($para, $asunto, $mensaje, "From: $de\r\n")

en ese orden debe ir, primero el e-mail destino, despues el asunto y luego el mensaje y despues si quieres agregarle las cabeceras. Todo se explica en la documentacion oficial de PHP.NET
__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
  #8 (permalink)  
Antiguo 27/06/2005, 00:55
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 12 años, 7 meses
Puntos: 0
Se me olvidaba, disculpa mi ignorancia , para que sirve la "@" en if( @ mail (algo, ....)
__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
  #9 (permalink)  
Antiguo 27/06/2005, 02:10
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por DvD AdN
Se me olvidaba, disculpa mi ignorancia , para que sirve la "@" en if( @ mail (algo, ....)
Permiteme responderte... . El "@" antepuesto a una función, sirve para no mostrar el mensaje de error en caso de fallo... Por ejemplo, si tienes
Código PHP:
<?php
mail
(); // tal cuál... 
?>
te dará error.. obviamente esta mal... ... ahora, si tienes
Código PHP:
<?php
@mail(); // tal cuál... 
?>
sigue estando mal ... pero no hay mensaje... solo es eso... te interezará mostrar mensajes cuando desarrolles, es información para tí, pero no ya en tu aplicación trabajando ..

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #10 (permalink)  
Antiguo 27/06/2005, 07:23
 
Fecha de Ingreso: diciembre-2004
Mensajes: 149
Antigüedad: 13 años
Puntos: 0
Gracias Dvd AdN. Por fin funcionó. Gracias por tu paciencia, soy un poco torpe.

Un abrazo
  #11 (permalink)  
Antiguo 27/06/2005, 20:59
Avatar de DvD AdN  
Fecha de Ingreso: mayo-2005
Ubicación: Frente al monitor
Mensajes: 610
Antigüedad: 12 años, 7 meses
Puntos: 0
aaaaa ya me acorde, hace mucho había leido algo del uso de "@" para evitar que aparezca el texto de los errores
__________________
Keep f***ing learning
Ask for f***ing help.
Use f***ing spell check.
Think about all the f***ing possibilities.
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 11:45.