Foros del Web » Programando para Internet » ASP Clásico »

Insertar forma de pago en una tabla

Estas en el tema de Insertar forma de pago en una tabla en el foro de ASP Clásico en Foros del Web. Hola, amigos. Tengo una cesta con una compra (cesta.asp) Para realizar el pago, antes de cerrar el pedido pasa por otra página para comprobar el ...
  #1 (permalink)  
Antiguo 13/03/2008, 02:05
GUW
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 11 meses
Puntos: 1
Pregunta Insertar forma de pago en una tabla

Hola, amigos.

Tengo una cesta con una compra (cesta.asp)

Para realizar el pago, antes de cerrar el pedido pasa por otra página para comprobar el usuario está registrado, o, en caso contrario, registrarse por primera vez (comprobar_usuario.asp).

Una vez comprobado su registro o registrado por primera vez, le lleva a la última página para finalizar su pedido (realizar_pedido.asp).

Todo funciona perfectamente. En la página de la cesta tengo dos formas de pago: transferencia bancaria y contrarreembolso. Pero no consigo (lo he intentado de varias formas pero no hay manera) que la opción elegida por el usuario se inserte en la tabla.

Voy a dejar el código de la página cesta.asp y realizar_pedido.asp, a ver si alguien puede echar una manilla. Gracias por todo.:

cesta.asp

<%
Option Explicit

'Definición de variables

Dim Base 'Objeto Connection para acceder a la base de datos
Dim Tabla 'Objeto RecordSet para realizar consultas
Dim SQL 'String para crear la consulta SQL
Dim producto 'Variable auxiliar para recorrer los productos
Dim referencia 'Referencia del producto
Dim Total 'Total del dinero gastado
Dim TotalPorcentaje

'Fin de la definición de variables

SET Base = Server.CreateObject ("ADODB.Connection")
SET Tabla = Server.CreateObject ("ADODB.RecordSet")
base.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:/business/jokast.com/private/jokast.mdb"
SQL = "SELECT cod_producto, producto, precio_producto, referencia From productos"
Tabla.Open SQL, Base, 3,3

%>
<form method="post" action="borrar.asp" name="formi">
<table width="100%" border="1" align="center" cellpadding="3" cellspacing="3" bordercolor="#EDEDDE">
<tr bgcolor="#EDEDDE" class="oscuro-pequeno">
<th width="81"> </th>
<th width="305"> Producto </th>
<th width="73">Referencia</th>
<th width="56"> Unidades</th>
<th width="90"> Precio </th>
<th width="143" bgcolor="#EDEDDE"> Subtotal </th>
</tr>
<%
Total = 0
For Each producto In Request.Cookies ("Compra")
If Request.Cookies ("Compra")(producto) <> "" Then
Tabla.Filter = "cod_producto='" & producto & "'"%>
<tr class="title_down">
<td bordercolor="#EDEDDE"><div align="center">
<input type="checkbox" name="Borrar"
value="<%= producto %>">
<input type="button" class="texto_mas_pequeno"
onClick="borrar()" value="Eliminar">
<br>
</div></td>
<td><div align="center"><font class="casillero"><%= Tabla ("producto") %></font> </div></td>
<td><div align="center"><font class="casillero"><%= Tabla ("referencia") %></font></div></td>
<td align="center"><font class="casillero"><%=Request.Cookies ("Compra")(producto)%></font> </td>
<td align="right"><div align="center"><font class="casillero"><%=FormatNumber(Tabla ("precio_producto"), 2)%></font> <span class="textorojo">Euros</span> </div></td>
<td align="right"><font class="casillero"><%=FormatNumber(Tabla("precio_pr oducto")*Request.Cookies("Compra")(producto),2)%></font> <span class="textorojo">Euros</span> </td>
</tr>
<%
Total = Total + Tabla ("precio_producto") * _
Request.Cookies ("Compra")(producto)
End If
Next
%>
<tr class="description">
<td bordercolor="#FFFFFF"><div align="center">
</div></td>
<td bordercolor="#FFFFFF">&nbsp;</td>
<td bordercolor="#FFFFFF">&nbsp;</td>
<td colspan="2" align="right" bordercolor="#FFFFFF" class="texto_mas_pequeno"><span class="texto_mas_pequeno_verde">+ 7.50 Euros</span> <br>
Gastos de env&iacute;o (Tarifa &Uacute;nica) </td>
<td align="right"><span class="articulo">Subtotal:</span> <font class="casillero"><%= FormatNumber (Total + 7.50, 2) %></font> <span class="textorojo">Euros</span></td>
</tr>
<tr class="description">
<td colspan="6"><span class="texto">Forma
de pago:&nbsp;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><br> <font class="textopequeniooscuro">
<input name="forma_pago" type="radio" value="transferencia" checked>
Transferencia bancaria</font> <font class="casillero"><%= FormatNumber (Total + 7.50, 2) %></font> <span class="textorojo">Euros</span> <font class="textopequeniooscuro">
<input name="forma_pago" type="radio" value="contrarrembolso" onClick="javascript:actualizar(this.checked);">
Contrarreembolso</font><span class="lista">
(+ 5% gastos)</span>
<span class="casillero">
<%TotalPorcentaje = (Total + 7.50)*5/100 + (Total + 7.50)%>
<%= FormatNumber (TotalPorcentaje,2)%></span> <span class="textorojo">Euros</span> <script language="javascript">
function actualizar(chequeado){
if(chequeado==true){
trC.style.display = "inline";
}
else{
trC.style.display = "none";
}
}
</script>
<tr bordercolor="#EDEDDE" id="trC" style="display:none">
<td bordercolor="#FFFFFF" ><div align="right"></div></td>
</tr>
</table>

</form>
<input type="button" class="textorojonegrita"
onClick="location.href='pagar.asp'" value="Realizar el pago">
<%

Tabla.Close
Base.Close
SET Tabla = Nothing
SET Base = Nothing

%>

Código para realizar_pedido.asp:

<%
Option Explicit

'Definición de variables

Dim Base 'Objeto Connection para acceder a la base de datos
Dim Tabla 'Objeto RecordSet para realizar consultas
Dim SQL 'String para crear la consulta SQL
Dim cod_usuario 'Código del usuario que realiza el pedido
Dim cod_pedido 'Código único del pedido
Dim fecha 'Fecha de realización del pedido
Dim producto 'Variable para recorrer los productos comprados


'Fin de la definición de variables
If Session ("cod_usuario") = "" Then Response.Redirect "../index.asp"

cod_usuario = Session ("cod_usuario")
fecha = Month (Date) & "/" & Day(Date) & "/" & Year(Date)

SET Base = Server.CreateObject ("ADODB.Connection")
SET Tabla = Server.CreateObject ("ADODB.RecordSet")
base.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:/business/jokast.com/private/ jokast.mdb"
SQL = "Insert into pedidos (cod_pedido, cod_usuario, fecha, estado) " & _
"values ('#', '" & cod_usuario & "', #" & fecha & "#, '0')"
Application.Lock
Base.Execute SQL

SQL = "Update pedidos Set cod_pedido=Right('000000' & id,15) " &_
"Where cod_pedido='#'"
Base.Execute SQL

SQL = "Select cod_pedido From pedidos Order By id DESC"
Tabla.Open SQL, Base, 3, 3
cod_pedido = Tabla ("cod_pedido")
Tabla.Close
Set Tabla = Nothing
Application.UnLock

For Each producto In Request.Cookies("Compra")
If Request.Cookies ("Compra")(producto) <> "" Then
SQL = "Insert Into detalle_pedidos (cod_detalle_pedido, " & _
"cod_pedido, cod_producto, unidades) values ('#', '" & _
cod_pedido & "', '" & producto & "', " & _
Request.Cookies ("Compra")(producto) & ")"
Base.Execute SQL

SQL = "Update detalle_pedidos Set cod_detalle_pedido = Right " & _
" ('000000' & id, 20) Where cod_detalle_pedido='#'"
Base.Execute SQL
End If
Next

Base.Close
Set Base = Nothing

Response.Cookies ("Compra").Expires = DateAdd ("d", -1, Date)
Session ("cod_usuario") = ""

%>
  #2 (permalink)  
Antiguo 13/03/2008, 08:48
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: Insertar forma de pago en una tabla

jejejeje

para no leer tanto, podrías decirme donde esta el insert que no hace?

grx
__________________
JuanRa Pérez
San Salvador, El Salvador
  #3 (permalink)  
Antiguo 13/03/2008, 08:53
GUW
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 11 meses
Puntos: 1
Re: Insertar forma de pago en una tabla

Claro. Y gracias:

<input name="forma_pago" type="radio" value="transferencia" checked>
Transferencia bancaria</font> <font class="casillero"><%= FormatNumber (Total + 7.50, 2) %></font> <span class="textorojo">Euros</span> <font class="textopequeniooscuro">
<input name="forma_pago" type="radio" value="contrarrembolso" onClick="javascript:actualizar(this.checked);">
Contrarreembolso</font><span class="lista">
(+ 5% gastos)</span>
<span class="casillero">
<%TotalPorcentaje = (Total + 7.50)*5/100 + (Total + 7.50)%>
<%= FormatNumber (TotalPorcentaje,2)%></span> <span class="textorojo">Euros</span> <script language="javascript">
function actualizar(chequeado){
if(chequeado==true){
trC.style.display = "inline";
}
else{
trC.style.display = "none";
}
}
</script>
<tr bordercolor="#EDEDDE" id="trC" style="display:none">
<td bordercolor="#FFFFFF" ><div align="right"></div></td>
</tr>
</table>

</form>
<input type="button" class="textorojonegrita"
onClick="location.href='pagar.asp'" value="Realizar el pago">
  #4 (permalink)  
Antiguo 13/03/2008, 09:32
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: Insertar forma de pago en una tabla

Cita:
Iniciado por GUW Ver Mensaje
Todo funciona perfectamente. En la página de la cesta tengo dos formas de pago: transferencia bancaria y contrarreembolso. Pero no consigo (lo he intentado de varias formas pero no hay manera) que la opción elegida por el usuario se inserte en la tabla.
en que momento insertas la variable "forma_pago", donde esta el insert me imagino es en la pagina pagar dado que a esa apunta tu código.
__________________
JuanRa Pérez
San Salvador, El Salvador
  #5 (permalink)  
Antiguo 13/03/2008, 09:44
GUW
 
Fecha de Ingreso: julio-2006
Mensajes: 45
Antigüedad: 17 años, 11 meses
Puntos: 1
Exclamación Re: Insertar forma de pago en una tabla

No tengo el insert de forma_pago porque cómo no me ha funcionado de ninguna manera, no quiero confundir. La página pagar.asp es de paso, para que el cliente inserte sus datos de usuario, si ya está registrado, o los inserte por primera vez. Esta página pasa a comprobar_usuario.asp y de aquí a realizar_pedido.asp:

<%
Option Explicit

'Definición de variables

Dim Base 'Objeto Connection para acceder a la base de datos
Dim Tabla 'Objeto RecordSet para realizar consultas
Dim SQL 'String para crear la consulta SQL
Dim cod_usuario 'Código del usuario que realiza el pedido
Dim cod_pedido 'Código único del pedido
Dim fecha 'Fecha de realización del pedido
Dim producto 'Variable para recorrer los productos comprados


'Fin de la definición de variables
If Session ("cod_usuario") = "" Then Response.Redirect "../index.asp"

cod_usuario = Session ("cod_usuario")
fecha = Month (Date) & "/" & Day(Date) & "/" & Year(Date)

SET Base = Server.CreateObject ("ADODB.Connection")
SET Tabla = Server.CreateObject ("ADODB.RecordSet")
base.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=d:/business/jokast.com/private/ jokast.mdb"
SQL = "Insert into pedidos (cod_pedido, cod_usuario, fecha, estado) " & _
"values ('#', '" & cod_usuario & "', #" & fecha & "#, '0')"
Application.Lock
Base.Execute SQL

SQL = "Update pedidos Set cod_pedido=Right('000000' & id,15) " &_
"Where cod_pedido='#'"
Base.Execute SQL

SQL = "Select cod_pedido From pedidos Order By id DESC"
Tabla.Open SQL, Base, 3, 3
cod_pedido = Tabla ("cod_pedido")
Tabla.Close
Set Tabla = Nothing
Application.UnLock

For Each producto In Request.Cookies("Compra")
If Request.Cookies ("Compra")(producto) <> "" Then
SQL = "Insert Into detalle_pedidos (cod_detalle_pedido, " & _
"cod_pedido, cod_producto, unidades) values ('#', '" & _
cod_pedido & "', '" & producto & "', " & _
Request.Cookies ("Compra")(producto) & ")"
Base.Execute SQL

SQL = "Update detalle_pedidos Set cod_detalle_pedido = Right " & _
" ('000000' & id, 20) Where cod_detalle_pedido='#'"
Base.Execute SQL
End If
Next

Base.Close
Set Base = Nothing

Response.Cookies ("Compra").Expires = DateAdd ("d", -1, Date)
Session ("cod_usuario") = ""

%>
  #6 (permalink)  
Antiguo 13/03/2008, 10:03
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 20 años, 7 meses
Puntos: 27
Re: Insertar forma de pago en una tabla

pues si la pregunta es como insertarlo solo tienes que tomarlo en la pagina a la cual envías el formulario que tiene la variable (pagar.asp)

forma_pago = request("forma_pago")

has un response.write para el valor que traes y prueba el insert, luego si te da error pega el error exacto que te envía la página

y veremos que es el problema

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
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 17:48.