Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/04/2006, 08:20
Avatar de JorgitoAlfajor
JorgitoAlfajor
 
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 4 meses
Puntos: 1
El problema es que estas confundiendo cliente con servidor. El codigo PHP se ejecuta del lado del servidor, por lo que no se puede ejecutar código PHP (en tu caso la función agregar) en respuesta a un evento producido el el cliente (tu navegador). Una forma de hacer lo que querés es enviar el formulario a una página que procese los datos (carge la cantidad en el carrito) y luego utilice código javascript para cerrar la ventana.

formulario.php
Código PHP:
<?
$id 
$_GET['id'];
?>
<html> 
<head> 
<title>PRODUCTOS AGREGADOS AL CARRITO</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="agregar.php?id=<?=$id?>" method="post">
<table>
<tr>
<td width="136" align="center">
<input type="text" name="cantidad" size="8">
</td>
<td align="center"> <div align="center">
<input type="submit" name="Agregar" value="Agregar" >
</div>
</td>
</tr>
</table>
</form>
</body> 
</html>
agregar.php
Código PHP:
<?
session_start
();
include(
"conexion.php");
$id $_GET['id'];
$conexion conectar();
$cantidad $_POST['cantidad'];

if(!
$cantidad)
{
$cantidad=1;
}
$qry=mysql_query("select * from perfiles where id= '$id'"$conexion)or die (mysql_error());

$row=mysql_fetch_array($qry);

$carro=$_SESSION['carro'];

$carro[md5($id)]=array('identificador'=>md5($id),'cantidad'=>$cantidad,'cod_perfil'=>$row['cod_perfil'],'id'=>$id);

$_SESSION['carro']=$carro;


echo 
"<script>window.close();</script>";
?>
Algo así mas o menos.
Otra cosa: ¿para que usás la línea "extract($_REQUEST)"?¿Lo usás en otros scripts? Si no me equivoco eso es casi lo mismo que tener activado "register_globals", lo que es muy peligroso pensando en la seguridad de tu script.
Saludos.
__________________
¿Se me entiende la letra?