Mail en php desde json

1287 visitas 4 respuestas

Buenas, estoy finalizando una tienda online en php y ajax y no se como pasar los datos desde el carrito a un mail. Pongo el codigo por si alguien me puede ayudar:

Carrito

                                                    </div>
                                                    <div class="modal-body">
                                                        <table align="center" border="0" cellpadding="0" cellspacing="0">
                                                            <tr><td>
                                                                    <!-- Smart Wizard -->
                                                                    <br>

                                                                    <div id="wizard" class="swMain">

                                                                        <div>
                                                                            <h2 class="StepTitle">Resumen</h2>

                                                                            <table class="table table-bordered">
                                                                                <thead>
                                                                                    <tr>
                                                                                        <th>Eliminar</th>
                                                                                        <th>Imagen</th>
                                                                                        <th>Nombre Producto</th>

                                                                                        <th>Cantidad</th>
                                                                                        <th>Precio Unidad</th>
                                                                                        <th>Total</th>
                                                                                    </tr>
                                                                                </thead>
                                                                                <tbody id="bodyTablaProductosCarrito">

                                                                                </tbody>
                                                                            </table>
                                                                        </div>

                                                                        <div>
                                                                            <h2 class="StepTitle">Direccion</h2>
                                                                            <div class="span6 no_margin_left">  

                                                                                <div class="control-group">
                                                                                    <label  class="control-label">Nombre</label>
                                                                                    <div class="controls docs">
                                                                                        <input id="cartFirstName" type="text" class="span4">
                                                                                    </div>
                                                                                </div>
                                                                                <div class="control-group">
                                                                                    <label class="control-label">Apellidos</label>
                                                                                    <div class="controls docs">
                                                                                        <input id="cartLastName" type="text"  class="span4">
                                                                                    </div>
                                                                                </div>
                                                                                <div class="control-group">
                                                                                    <label class="control-label">Email</label>
                                                                                    <div class="controls docs">
                                                                                        <input id="cartEmail" type="text"  class="span4">
                                                                                    </div>
                                                                                </div>

                                                                            </div>
                                                                            <div class="span7">  

                                                                                <div class="control-group">
                                                                                    <label class="control-label">Codigo Postal</label>
                                                                                    <div class="controls docs">
                                                                                        <input id="cartZip" type="text"  class="span4">
                                                                                    </div>
                                                                                </div>
                                                                                <div class="control-group">
                                                                                    <label class="control-label">Provincia</label>
                                                                                    <div class="controls docs">
                                                                                        <input id="cartProvince" type="text"  class="span4">
                                                                                    </div>
                                                                                </div>
                                                                                <div class="control-group">
                                                                                    <label class="control-label">Ciudad</label>
                                                                                    <div class="controls docs">
                                                                                        <input id="cartCity" type="text"  class="span4">
                                                                                    </div>
                                                                                </div>
                                                                                <div class="control-group">
                                                                                    <label class="control-label">Calle y Numero</label>
                                                                                    <div class="controls docs">
                                                                                        <input id="cartAddress" type="text"  class="span4">
                                                                                    </div>
                                                                                </div>

                                                                            </div>
                                                                        </div>
                                                                        <div>
                                                                            <h2 class="StepTitle">Envio</h2>
                                                                            <table class="table table-bordered">
                                                                                <tr>
                                                                                    <th colspan="4">Elija una forma de envio</th>

                                                                                <tr>
                                                                                    <td><input type="radio" value="option1" id="optionsRadio" name="radioShipping"></td>
                                                                                    <td><img src="Img/correos.jpg"></td>
                                                                                    <td><strong>Correos</strong><br>Urgente 24/48 horas</td>
                                                                                    <td>5&#8364;</td>
                                                                                </tr>
                                                                                <tr>
                                                                                    <td><input type="radio" value="option1" id="optionsRadio" name="radioShipping"></td>
                                                                                    <td><img src="Img/correos.jpg"></td>
                                                                                    <td><strong>Correos</strong><br>Envio Normal de 3 a 5 dias</td>
                                                                                    <td>2&#8364;</td>
                                                                                </tr>
                                                                            </table>
                                                                        </div>
                                                                    </div>
                                                                    <!-- End SmartWizard Content -->

                                                                </td></tr>
                                                        </table>
                                                    </div>
                                                    <div class="modal-footer">
                                                        <button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>

(Este es el codigo del carrito)

function comprar(){

        carritoJSON = JSON.stringify(carrito);
        //alert(carritoJSON);
        $.ajax({
      type:'POST',
      data:'datos='+carritoJSON,
      url: 'Phps/compra.php',

      success: function(data){

        alert("Su compra se ha realizado con éxito")
        alert(carrito.cuenta); 
      }
        });
    }

(Esta la funcion en ajax que me llevaria a un php) Pero no se como seguir.

por

Registrado desde: 29 Sep 14

Respuestas

0 0

Buenos días, entiendo que quieres enviar un email desde PHP con los datos del pedido, etc...

Lo que podrías hacer es por ejemplo una base predefinida en el email, y guardar los datos en sesiones, así los tendrías disponibles en cualquier lugar de tu aplicación.

Otra posibilidad es utilizar esta pequeña librería que se presentó aquí hace un tiempo, y sirve para algo similar.

http://www.php-hispano.net/foro/11426/snippet-clase-para-emular-variables-globales

Un saludo!!!

por desde España

Registrado desde: 07 Jan 03
0 0

Gracias!por la respuesta, pero mi problema reside en que si paso los datos del carrito llegan al php pero no quiere el cliente tener usuarios registrados por lo tanto mete todo los datos en unos textarea y no se como hacer pasar tambien estos datos para que envie un mail conjunto con los datos del carrito y los datos del cliente sin estar registrado.

por

Registrado desde: 29 Sep 14
0 0

Bien, vamos a ver, tu ejecutas todo el proceso de compra en 'Phps/compra.php', y entiendo que es desde ahí desde donde quieres enviar el email.

Lo que tienes que hacer es utilizar sesiones, (El uso de sesiones no equivale a tener usuarios registrados, una sesión es perfectamente un usuario anónimo).

En la sesión guardas los datos del textarea, ya sea mediante javascript, o sea creando la variable de sesión cuando cargas los datos al textarea.

Y ya dentro de 'Phps/compra.php', junto a los datos del carrito que ya has pasado vía ajax recuperas las variables de sesión y obtienes los datos del cliente para enviar el email.

Un saludo!

por desde España

Registrado desde: 07 Jan 03
0 0

Muchas Gracias!! lo voy a mirar. Un saludo!

por

Registrado desde: 29 Sep 14