Foros del Web » Programando para Internet » PHP »

pasar datos carritos de compra

Estas en el tema de pasar datos carritos de compra en el foro de PHP en Foros del Web. hola chicoos, otra vez aqui, tengo el carrito terminado, instale phpmaile con gmail, pero no me manda los datos del carrito, solo el asunto y ...
  #1 (permalink)  
Antiguo 05/01/2015, 18:09
 
Fecha de Ingreso: noviembre-2014
Mensajes: 60
Antigüedad: 9 años, 5 meses
Puntos: 0
pasar datos carritos de compra

hola chicoos, otra vez aqui, tengo el carrito terminado, instale phpmaile con gmail, pero no me manda los datos del carrito, solo el asunto y el mensaje, dejo aqui el codigo, llevo ya 3 dias intentandolo y no hay manera

aqui los datos de la compra

Código PHP:
Ver original
  1. <?php
  2. if (!function_exists("GetSQLValueString")) {
  3. function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
  4. {
  5.   if (PHP_VERSION < 6) {
  6.     $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  7.   }
  8.  
  9.   $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
  10.  
  11.   switch ($theType) {
  12.     case "text":
  13.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  14.       break;    
  15.     case "long":
  16.     case "int":
  17.       $theValue = ($theValue != "") ? intval($theValue) : "NULL";
  18.       break;
  19.     case "double":
  20.       $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
  21.       break;
  22.     case "date":
  23.       $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
  24.       break;
  25.     case "defined":
  26.       $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
  27.       break;
  28.   }
  29.   return $theValue;
  30. }
  31. }
  32.  
  33. $editFormAction = $_SERVER['PHP_SELF'];
  34. if (isset($_SERVER['QUERY_STRING'])) {
  35.   $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
  36. }
  37.  
  38. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  39.   $insertSQL = sprintf("INSERT INTO tblcompra (idCompra, idUsuario, fchFecha, intTipoPago, dblTotal, intEstado, strNombre) VALUES (%s, %s, %s, %s, %s, %s, %s)",
  40.                        GetSQLValueString($_POST['idCompra'], "int"),
  41.                        GetSQLValueString($_POST['idUsuario'], "int"),
  42.                        GetSQLValueString($_POST['fchFecha'], "date"),
  43.                        GetSQLValueString($_POST['intTipoPago'], "text"),
  44.                        GetSQLValueString($_POST['dblTotal'], "double"),
  45.                        GetSQLValueString($_POST['intEstado'], "int"),
  46.                        GetSQLValueString($_POST['strNombre'], "text"));
  47.  
  48.   mysql_select_db($database_conexionzapatos, $conexionzapatos);
  49.   $Result1 = mysql_query($insertSQL, $conexionzapatos) or die(mysql_error());
  50.  
  51.   $insertGoTo = "carrito_finalizacion.php";
  52.   if (isset($_SERVER['QUERY_STRING'])) {
  53.     $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
  54.     $insertGoTo .= $_SERVER['QUERY_STRING'];
  55.   }
  56.   header(sprintf("Location: %s", $insertGoTo));
  57. }
  58.  
  59. $maxRows_compra = 10;
  60. $pageNum_compra = 0;
  61. if (isset($_GET['pageNum_compra'])) {
  62.   $pageNum_compra = $_GET['pageNum_compra'];
  63. }
  64. $startRow_compra = $pageNum_compra * $maxRows_compra;
  65.  
  66. $varCompra_compra = "0";
  67. if (isset($_SESSION["MM_IdUsuario"])) {
  68.   $varCompra_compra = $_SESSION["MM_IdUsuario"];
  69. }
  70. mysql_select_db($database_conexionzapatos, $conexionzapatos);
  71. $query_compra = sprintf("SELECT * FROM tblcarrito WHERE tblcarrito.idUsuario = %s", GetSQLValueString($varCompra_compra, "int"));
  72. $query_limit_compra = sprintf("%s LIMIT %d, %d", $query_compra, $startRow_compra, $maxRows_compra);
  73. $compra = mysql_query($query_limit_compra, $conexionzapatos) or die(mysql_error());
  74. $row_compra = mysql_fetch_assoc($compra);
  75.  
  76. if (isset($_GET['totalRows_compra'])) {
  77.   $totalRows_compra = $_GET['totalRows_compra'];
  78. } else {
  79.   $all_compra = mysql_query($query_compra);
  80.   $totalRows_compra = mysql_num_rows($all_compra);
  81. }
  82. $totalPages_compra = ceil($totalRows_compra/$maxRows_compra)-1;
  83.  
  84. $preciototal="ObtenerIVA()/100";
  85. $multiplicador =  "ObtenerIVA()/100";
  86. $valordelIVA = "preciototal * $multiplicador";
  87. $valorconIVA = "preciototal * $multiplicador";
  88. $hoy = date("Y-m-d");
  89. $Transferencia="Transferencia";
  90. $asunto="Cachemira.com";
  91. $mensaje="Gracias por comprar en la cachemira.com, a continuacion se su compra, esperamos verle pronto ";
  92. $producto="idProducto";
  93.  
  94. ?>
  95.  <td width="316" align="center" bgcolor="#EEEEEE"><strong>Resumen de su compra</strong></td>
  96.   </tr>
  97. </table>
  98.  
  99.  
  100.               <form action="envio_realizado.php" method="post" name="form1" id="form1">  
  101.              <table width="618" height="124" align="center">
  102.                  
  103.                    <tr bgcolor="#00FFFF">
  104.                    <td align="center">Productos</td>
  105.                    <td align="center">Unidades</td>
  106.                    <td colspan="2" align="center">Total </td>
  107.                  
  108.                    </tr>
  109.                    <?php $preciototal = 0;?>
  110.                     <?php do { ?>
  111.                    
  112.                    <tr bgcolor="#FFECEC" align="center">
  113.                     <td width="186" align="right">
  114.                       <input name="idProducto" type="text" value="<?php echo ObtenerNombreProducto($row_compra['idProducto']); ?>" size="10" /> </td>
  115.                     <td width="102" align="right"><input type="text" name="idProducto" value="<?php echo $row_compra['intCantidad']; ?>" size="4" align="left"  /></td>
  116.                     <td colspan="2" align="center"><input name="idProducto" type="text" value="<?php echo ObtenerPrecioProducto($row_compra['idProducto']); ?>" size="5"  /></td>
  117.                     <?php   $preciototal = $preciototal + ObtenerPrecioProducto($row_compra['idProducto']);?>
  118.                    
  119.                     <?php } while ($row_compra = mysql_fetch_assoc($compra)); ?><tr>
  120.                <td height="25"  align="center">
  121.       </tr>            
  122.       <tr>  
  123.                    <td height="29"></td> <td></td>            
  124.                    
  125.                      <td width="208" align="right" class="comproducto">
  126.               <?php
  127.           $multiplicador =  (100 + ObtenerIVA())/100;
  128.           $valorconIVA = $preciototal * $multiplicador;
  129.           echo $valorconIVA;?>
  130.                      <strong>Euros IVA incluido</strong></td>
  131.  
  132.  
  133.                      
  134.                </table>
  135.  
  136.  
  137.  
  138.  <form id="formulario" method="post" action="recibido.php" enctype="multipart/form-data" name="formulario">
  139.                     <input type="email" name="email" required>
  140.                    
  141.                      <input type="hidden" name="idUsuario" value="<?php echo $_SESSION['MM_IdUsuario']; ?>" />
  142.                     <input type="hidden" name="mensaje" value="<?php echo $mensaje?>">        
  143.               <input type="hidden" name="fchFecha" value="<?php echo $hoy ?>" />
  144.                    <input type="hidden" name="asunto" value="<?php echo $asunto ?>">
  145. <input type="hidden" name="dblTotal" value="<?php
  146.           $multiplicador =  (100 + ObtenerIVA())/100;
  147.           $valorconIVA = $preciototal * $multiplicador;
  148.           echo $valorconIVA;?>" />  
  149.                       <input id="submit" type="submit" name="enviar" value="Enviar mail">
  150.                 </form>

aqui donde debe de recoger los datos y mandarlo al email

Código PHP:
Ver original
  1. <?php
  2. //Librerías para el envío de mail
  3. include_once('phpmailer/class.phpmailer.php');
  4. include_once('phpmailer/class.smtp.php');
  5.  
  6. //Recibir todos los parámetros del formulario
  7. $para = $_POST['email'];
  8. $asunto = $_POST['asunto'];
  9. $mensaje = $_POST['mensaje'];
  10. $fchFecha= $_POST['fchFecha'] ;
  11. $dblTotal= $_POST['dblTotal'] ;
  12.  
  13. //Este bloque es importante
  14. $mail = new PHPMailer();
  15. $mail->IsSMTP();
  16. $mail->SMTPAuth = true;
  17. $mail->SMTPSecure = "ssl";
  18. $mail->Host = "smtp.gmail.com";
  19. $mail->Port = 465;
  20.  
  21. //Nuestra cuenta
  22. $mail->Username ='[email protected]';
  23. $mail->Password = 'xxxxxx; //Su password
  24.  
  25. //Agregar destinatario
  26. $mail->AddAddress($para);
  27. $mail->Subject = $asunto;
  28. $mail->Body = $mensaje;
  29.  
  30. //Para adjuntar archivo
  31. //$mail->AddAttachment($archivo['tmp_name'], $archivo['name']);
  32. $mail->MsgHTML($mensaje,$fchFecha,$dblTotal);
  33.  
  34. //Avisar si fue enviado o no y dirigir al index
  35. if($mail->Send())
  36. {
  37.    echo'<script type="text/javascript">
  38.             alert("Enviado Correctamente");
  39.             window.location="final.php"
  40.          </script>';
  41. }
  42. else{
  43.    echo'<script type="text/javascript">
  44.             alert("NO ENVIADO, intentar de nuevo");
  45.             window.location="final.php"
  46.          </script>';
  47. }
  48. ?>

solo manda esto
$asunto = $_POST['asunto'];
$mensaje = $_POST['mensaje'];
  #2 (permalink)  
Antiguo 05/01/2015, 18:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: pasar datos carritos de compra

Cita:
solo manda esto
$asunto = $_POST['asunto'];
$mensaje = $_POST['mensaje'];
Bueno, el código no va a leer tu mente y mandar lo que desees, sólo enviará lo que programes.

Si hacen falta datos ¿por qué no los agregas en lugar de preguntar?

Vamos, que $mensaje debe contener los datos de tu carrito: pero no se van a agregar por arte de magia.

Tu debes programar un mecanismo para hacer la composición del mensaje del correo con los datos que te hagan falta.

Código PHP:
Ver original
  1. $mensaje = $_POST['mensaje'];
  2.  
  3. while (/* extraemos los datos */) {
  4.   // concatenamos al final del $mensaje
  5.   $mensaje .= "DATO= $dato->algo_que_no_tengo_idea<br>\n";
  6. }

Por favor, utiliza tu sentido común.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/01/2015, 10:48
 
Fecha de Ingreso: noviembre-2014
Mensajes: 60
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: pasar datos carritos de compra

ya no se de donde extraer los datos y como, y todos los tutoriales que veo lo hacen con s_session['carrito'] , yo voy moviendo todos los datos de una pagina a otra, el carro se llena , se puede vaciar , poner mas productos, va haciendo la suma o resta de lo que haya en cada momento, pero yo em voy moviendo con $SESSION[MM_IdUsuario] , por eso los tutoriales que veo no me sirven, y por eso pregunto, estoy demasiado verde aun,
  #4 (permalink)  
Antiguo 06/01/2015, 12:52
 
Fecha de Ingreso: noviembre-2014
Mensajes: 60
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: pasar datos carritos de compra

ahora me manda el mensaje pero no el precio total del producto,
  #5 (permalink)  
Antiguo 07/01/2015, 11:36
 
Fecha de Ingreso: noviembre-2014
Mensajes: 60
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: pasar datos carritos de compra

he vuelto a hacer pruebas, tengo ahora esto
Código PHP:
Ver original
  1. <?php $body.='<tr>
  2.                        
  3.            <td>Gracias por comprar en la cachemira.com, <br />
  4. a continuacion le remitimos el total de su compra, esperamos verle pronto.
  5. </tr>';
  6.    $body.='<input name="preciototal" type="text" value="
  7.           $multiplicador =  (100 + ObtenerIVA())/100;
  8.           $valorconIVA = $preciototal * $multiplicador;
  9.           echo $valorconIVA';?>

pero esto ultimo no me lo manda,
Código PHP:
Ver original
  1. $body.='<input name="preciototal" type="text" value="<?php
  2.           $multiplicador =  (100 + ObtenerIVA())/100;
  3.           $valorconIVA = $preciototal * $multiplicador;
  4.           echo $valorconIVA;?>';?>

eso lo saco de unas variables que calculan el precio con iva, de echo en la pagina me sale la suma total con el iva,
Código HTML:
Ver original
  1. <input name="preciototal" type="text" value="<?php
  2.           $multiplicador =  (100 + ObtenerIVA())/100;
  3.           $valorconIVA = $preciototal * $multiplicador;
  4.           echo $valorconIVA;?>
  5. " />

las variables son estas
Código PHP:
Ver original
  1. $preciototal="ObtenerIVA()/100";
  2. $multiplicador =  "ObtenerIVA()/100";
  3. $valordelIVA = "preciototal * $multiplicador";
  4. $valorconIVA = "preciototal * $multiplicador";

Última edición por eslomao; 07/01/2015 a las 11:46
  #6 (permalink)  
Antiguo 07/01/2015, 12:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: pasar datos carritos de compra

Esto no se hace:
Código PHP:
Ver original
  1. // meter código PHP dentro de una cadena de texto no funciona
  2. $foo = 'TEXT<?php $x = 1 + $y; echo $x; ?>O';

Es absurdo, lo correcto es así:
Código PHP:
Ver original
  1. // primero haces las operaciones
  2. $x = 1 + $y;
  3.  
  4. // concatenas el valor aquí
  5. $foo = 'TEXT' . $x;

Por favor consulta el manual al respecto.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 07/01/2015, 13:13
 
Fecha de Ingreso: noviembre-2014
Mensajes: 60
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: pasar datos carritos de compra

otra pregunta absurda, ya se que me estoy metiendo en aguas profundas, pero mi error fue seguir un tutorial, hacer unas 25 paginas, y al final el tutorial lo dejaron a medias, una solucion seria empezar de 0, pero ya emplee mucho tiempo en este, de donde saco ese
Código PHP:
Ver original
  1. $x = 1 + $y;
  2.  
  3. $foo = 'TEXT' . $x;
tendria que hacer otras variables ???

Etiquetas: compra, fecha, formulario, html, mysql, select, sql
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 02:47.