reemplazar $_POST por una variable [Solucionado]

Buenas tardes a todos, tengo un problema con un código php, este formulario de contacto envia un correo simple segun los campos:

<?php
///////Configuración/////
$mail_destinatario = 'ejemplo@ejemplo.com';
///////Fin configuración//
if (isset ($_POST['enviar'])) {
$headers .= "From: ".$_POST['email']. "\r\n";
if (
mail ($mail_destinatario, $_POST['asunto'],
"Nombre y apellidos : ".$_POST['nombre']."
Asunto: "
.stripcslashes ($_POST['asunto'])."\n
Mensaje :\n "
.stripcslashes ($_POST['mensaje']), $headers ))
echo
'<p>Su mensaje a sido enviado correctamente.
Gracias por contactar con nosostros</p>'
;
else echo
'<p>Error al enviar el formulario.
Por favor, inténtelo de nuevo mas tarde.</p>'
;
}
echo
'<form action="?" method="post">
<label for="nombre">Nombre y apellidos : </label>
<input type="text" name="nombre" size="50" maxlength="80"><br/>
<label for="email">Email : </label>
<input type="text" name="email" size="50" maxlength="60"><br/>
<label for="asunto">Asunto : </label>
<input type="text" name="asunto" size="50" maxlength="60"><br/>
<label for="mensaje">Mensaje : </label>
<textarea name="mensaje" cols="31" rows="5"></textarea> <br/>
<label for="enviar">
<input type="submit" name="enviar" value="Enviar consulta"></label>
</form><p>&nbsp;<p><br>'
;
?>

el problema que tengo con este codigo es que en algunas lineas casi en todas necesito cambiar el

$_POST['asunto']

por una variable, en ese ejemplo puede ser$asunto, en lugar de extraer los datos del formulario.

va con comillas simples o dobles, en paréntesis la verdad no se como, se que es algo super sencillo para los que saben del tema pero estoy aprendiendo así que disculparan la novatada

Saludos ojala me puedan ayudar.

algún moderador que me pueda borrar el hilo ya creo que lo logre

Gracias de todos modos, quizá me apresure

En lugar de borrar el post mejor comenta la solución que encontraste, así sí alguien tiene tu mismo problema va a saber como solucionarlo

jonathan8h escribió:

algún moderador que me pueda borrar el hilo ya creo que lo logre

Gracias de todos modos, quizá me apresure

Lo correcto seria que publiques la solución y marques el tema como solucionado

pues ya no me genera error de sintaxis pero no me funciona, en el codigo reemplace el POST asi por la variable $mail

if (isset ($_POST['enviar'])) {
$headers .= "From: ".$mail. "\r\n";

original

if (isset ($_POST['enviar'])) {
$headers .= "From: ".$_POST['email']. "\r\n";

pero tengo dudas de los puntos en que está encerrada la variable .$mail., porque en otros lugares no tiene esos puntos quizá por eso no me funcione, ademas no me genera ningún error, ejemplo error en la linea 30 o algo por el estilo, simplemente me envía a un error del servidor

pensando en que era el servidor, probe con el codigo original que puse al inicio y me corre perfecto entonces no se que puede ser

Saludos

No esta "encerrado" entre puntos, el punto es para concatenar. En la mayoria de los lenguajes se utiliza el + pero en php es con el .

pues estoy probando cosa por cosa y hasta ahora no he dado con nada lo estoy volviendo ha hacer código por código haber si encuentro el error, estoy dudando en el form, pero ya verifique nombres y actions.

Bueno cuando termine les avisare

edito:

lo acabo de probar las únicas modificaciones que hice fue cambiar el boton del form por el que había en el código original,

la solución a este hilo es simplemente reemplazar el POST por la variable deseada, $ejemplo, pero recomendado tener cuidado con las comillas dobles, simples y los puntos de concatenación, se debe entender bien ese cuento, apartando eso el problema de mi codigo creo y estoy casi seguro que era el form.

Solucion

if (isset ($_POST['enviar'])) {
$headers .= "From: ".$ejemplo. "\r\n";
if ( mail ($mail_destinatario, $ejemplo,
"Nombre y apellidos : ".$ejemplo."
Asunto: ".stripcslashes ($ejemplo)."\n
Mensaje :\n ".stripcslashes ($ejemplo), $headers ))

codigo original

if (isset ($_POST['enviar'])) {
$headers .= "From: ".$_POST['email']. "\r\n";
if ( mail ($mail_destinatario, $_POST['asunto'],
"Nombre y apellidos : ".$_POST['nombre']."
Asunto: ".stripcslashes ($_POST['asunto'])."\n
Mensaje :\n ".stripcslashes ($_POST['mensaje']), $headers ))

Saludos

Si ya resolviste tu duda, aún así aclaraé algunas cosas:

$_POST, $_GET, $_COOKIE, etc son Variables Superglobales.

No se puede "reemplazar" una variable por otra (por lógica), pero sí asignar una Variable por otra (o una Superglobal). Una buena práctica es, al principio del Script, declarar nuevas variables a partir de Superglobales y usarlas más abajo.

De paso echate una buena leida al Manual; cualquier duda recurre a él.

Tengo una duda y espero contimuar con el hilo de este post.

Tengo un archivo en el que parte del formato tiene que ser cargado paor un script y parte por otro. Como puedo hacer para que ambos se ejecuten en un submit. El punto esque el

Su mensaje Ha sido enviado correctamente en todo caso...

...duplicado, borrar