PHP - Enviar variables javascript con $_POST

   
Vista:

Enviar variables javascript con $_POST

Publicado por ajam (15 intervenciones) el 26/08/2014 01:16:53
Hola, estoy haciendo una pagina en la que eliges diferentes opciones para un producto y despues envias un correo al departamento de ventas con las caracteristicas elegidas, he guardado cada opcion elegida en una variable dentro del fichero de javascript y no consigo que funcione. En el fichero php que envia el correo tengo esto:

$subject = $_POST['vSub'];
$message = $_POST['vMsg'] . "\r\n" . "\r\n" . "Specs" . "\r\n" . "\r\n";
$message .= 'Model' - . $_POST['zModel'] . "\r\n";
$message .= 'Bay' - . $_POST['zBay'] . "\r\n";
$message .= 'Measures' - . $_POST['zMeasures'] . "\r\n";
............

todas las variables se encuentran en un script.js y no consigo que me las envie correctamente, alguna idea para pasarlas a php? gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Enviar variables javascript con $_POST

Publicado por xve (5518 intervenciones) el 26/08/2014 09:51:00
Hola Ajam, no te entiendo muy bien, pero ten en cuenta que el código de javaScript se ejecuta en el navegador del clientes, una vez se ha ejecutado ya el PHP, por lo que la manera de enviar variables de JavaScript a PHP sin refrescar la página es mediante AJAX.

En el ejemplo que nos muestras, las variables vienen dadas por $_POST, no por javascript.

Nos puedes mostrar exactamente que variables tienes en el fichero script.js que quieres enviar a PHP?

Una manera muy sencilla de enviar variables de JavaScript a PHP en POST es con la función de jquery $.post() http://api.jquery.com/jQuery.post/

Este es un simple ejeplo en el que se envia al archivo test.php la variable name con el valor John y la variable time con el valor 2pm.
1
$.post( "test.php", { name: "John", time: "2pm" } );

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviar variables javascript con $_POST

Publicado por Ajam (15 intervenciones) el 26/08/2014 22:49:15
Todas las variables zAlgo que mostré en el ejemplo se utilizan dentro del fichero js y la idea es pasar su contenido a $message para después enviarlo por email. Ejemplo, entras en la pagina de pedidos y en un listbox desplegable eliges el tipo de producto, zModel contiene el nombre del modelo de producto elegido, mientras que zBay y zMeasures son opciones elegidas dentro de las caracteristicas de zModel. La idea es añadir esos valores a $message y que al receptor le llegue por email como una lista con todas las caracteristicas elegidas para estudiar el pedido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Enviar variables javascript con $_POST

Publicado por xve (5518 intervenciones) el 27/08/2014 08:35:59
Hola Ajam, el código que te mostré, lo que haces es pasar por post las variables a tu archivo php (para el ejemplo he puesto test.php) para que puedas cojer las variables desde el PHP.

Los nombres que te puse en las variables son de ejemplo, pero siguiendo el ejemplo, en tu página PHP, puedes obtener los valores de las variables de javascript así:
1
$message="hola ".$_POST["name"].", quedamos mañana a las ".$_POST["time"];


Para tu código, el script de javascript que envía las variables seria algo así:
1
2
var mivSub="valor vSub";
$.post( "test.php", { vSub: mivSub, vMsg: "valor vMsg", ... } );

Espero que te haya quedado claro...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviar variables javascript con $_POST

Publicado por Ajam (15 intervenciones) el 28/08/2014 00:33:24
Xve, siguiendo tu primer ejemplo me da un error de undefined index con zModel (no reconoce la variable), el segundo ejemplo donde deberia ejecutarlo, en el fichero js? Porque si lo he entendido bien

var mivSub="valor vSub";
$.post( "test.php", { vSub: mivSub, vMsg: "valor vMsg", ... } );

lo que hace es agregar los valores al fichero php y crea a la vez las variables, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Enviar variables javascript con $_POST

Publicado por xve (5518 intervenciones) el 28/08/2014 16:39:34
Ese Warning que te da, es porque la variable $_POST["zModel"] no esta definida, eso quiere decir que no las has pasado en el array de valores...

1
$.post( "test.php", { vSub: mivSub, vMsg: "valor vMsg", zModel:"su valor" } );

Esta instrucción de jquery, lo que hace es enviar en formato post las variables con su contenido al archivo test.php... igual que si lo enviaras desde un formulario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar