Foros del Web » Programando para Internet » PHP »

Los script PHP se ejecutan 2 veces ???

Estas en el tema de Los script PHP se ejecutan 2 veces ??? en el foro de PHP en Foros del Web. Hola a [email protected] !!! Hace algun tiempo he estado experimentando un problemilla que no veo por donde darle una solucion.... Mis scripts PHP se ejecutan ...

  #1 (permalink)  
Antiguo 25/05/2005, 10:17
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
Los script PHP se ejecutan 2 veces ???

Hola a [email protected] !!!

Hace algun tiempo he estado experimentando un problemilla que no veo por donde darle una solucion.... Mis scripts PHP se ejecutan dos veces, es decir como si entraran en un bucle pero solamente dos veces ¿?¿?¿?¿? !!!!!!... He probado cambiando los scripts de server pero siguen igual y eso me hace pensar que es error de programacion mio !!......

Saludos y Gracias !!!
  #2 (permalink)  
Antiguo 25/05/2005, 10:19
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 13 años, 3 meses
Puntos: 1
Cita:
Iniciado por jgarcigo
He probado cambiando los scripts de server pero siguen igual y eso me hace pensar que es error de programacion mio !!......
Si eso es lo que piensas, ponnos algún ejemplo de script que se ejecute dos veces.
__________________
Mi página personal: Julián Urbano
  #3 (permalink)  
Antiguo 25/05/2005, 10:30
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
...Por ejemplo al recibir los datos por el metodo POST y con el sgte codigo
Código:
$_SESSION['objEnLaSesion']->AddItem($codigo, $cantidad, $precio);
header("Location: .");
... despues al mostrar la cantidad de productos agregados siempre muestra el doble de los que ingrese..... (tambien pense que podria estar mala la clase)... pero al ejecutar un UPDATE por ejemplo en la db lo hace 2 veces ej
Código:
// Actualizo el stock del producto
$SQL = "SELECT stock FROM productos WHERE ide = '".$_POST["txtIde"]."' ";
$RS = $DB->Execute($SQL);
$cantidad = $RS->fields["stock"] - $cantidad;
$SQL = "UPDATE productos SET stock = '".$cantidad."' WHERE ide = '".$_POST["txtIde"]."' ";
$DB->Execute($SQL);
$DB->Close();
header("Location: .");
  #4 (permalink)  
Antiguo 25/05/2005, 10:53
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
... lo mismo pasa con los JavaScript por ejemplo

function Eliminar() {
var mensaje = "Esta seguro que desea eliminar el registro?";
if(confirm(mensaje)) {
document.form.action = "destino.php";
document.form.submit();
}
}
  #5 (permalink)  
Antiguo 25/05/2005, 10:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Deberías poner todo el código completo ..

Por ejemplo ese "location ." (con punto) dices "redirecciona aquí mismo .. a este script". No sé como filtraras tus variables para detectar que ha de entrar en cierta parte de tu código a realizar un "update" o hacer otra cosa .. pero lo que es cierto es que estás recargando la página ..

Un saludo,
  #6 (permalink)  
Antiguo 25/05/2005, 11:07
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
ok aqui esta el codigo completo ...
Código PHP:
<?php
    
/**
     * agregar_producto_boleta.php
     *
     */
        /**
     * @package Ventas
         */

include("../../../config.php");
include(
"../../../class/adodb/adodb.inc.php");
include(
"../../../class/class.boleta.php");
session_start();
//include("../../../valores-enviados.php");

$DB NewADOConnection('mysql');
$DB->SetFetchMode(ADODB_FETCH_ASSOC);
$DB->debug false;
if ( [email protected]
$DB->Connect($HOST$DB_USER$DB_PASS$DB_NAME) ) {
        echo 
"Error al conectar la base de datos ";
        exit;
}

$RS $DB->Execute("SELECT * FROM productos WHERE ide = '".$_POST["txtIde"]."' ");
$codigo $RS->fields["codigo"];
$cantidad $_POST["txtCantidad"];
$descripcion $RS->fields["descripcion"];
$precio_costo $RS->fields["precio"];
$precio_venta $_POST["txtPrecioUnitario"];
$descuento $_POST["txtDescuento"];
$con_serial $RS->fields["con_serial"];
$modifica_stock $RS->fields["modifica_stock"];

$_SESSION["objBoletaVenta"]->AddItem($codigo$cantidad$descripcion$precio_costo$precio_venta$descuento$modifica_stock);

// Actualizo el stock del producto
$SQL "SELECT stock FROM productos WHERE ide = '".$_POST["txtIde"]."' ";
$RS $DB->Execute($SQL);
$cantidad $RS->fields["stock"] - $cantidad;
$SQL "UPDATE productos SET stock = '".$cantidad."' WHERE ide = '".$_POST["txtIde"]."' ";
$DB->Execute($SQL);
$DB->Close();

header("Location: ../boleta.php");
?>
... y asi como este otros tantos script se ejecutan dos veces ?¿?¿?¿?¿ !!!
  #7 (permalink)  
Antiguo 25/05/2005, 11:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
y como es el proceso de llamada a ese script? .. desde donde lo llamas o "lanzas"?

Aparentemte ese código aislado debería funcionar bien .. es decir, se llama le pasas los parámetros que necesite .. hace su "UPDATE".

Lo único que se ve es que esto:
Código PHP:
$SQL "SELECT stock FROM productos WHERE ide = '".$_POST["txtIde"]."' ";
$RS $DB->Execute($SQL);
$cantidad $RS->fields["stock"] - $cantidad;
$SQL "UPDATE productos SET stock = '".$cantidad."' WHERE ide = '".$_POST["txtIde"]."' ";
// etc ... 
Lo podrías hacer:
Código PHP:
$SQL "UPDATE productos SET stock = stock - '".$cantidad."' WHERE ide = '".$_POST["txtIde"]."' ";
// ejecutas tu consulta ... 
Así te ahorras la consulta SQL para obtener el "stock" ...

(ahora no recuerdo si a $cantidad se usaría comillas o no al hacer una operación matemática de ese estilo.. pruebalo)

Un saludo,
  #8 (permalink)  
Antiguo 25/05/2005, 11:50
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
ok.. garcias por el mejoramiento del code..

en cuanto al archivo que "lanza" este script es un simple form enviado con el metodo POST
  #9 (permalink)  
Antiguo 25/05/2005, 12:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm Haz una prueba .... termina el script con exit; antes de tu "header ("Location ...")" que redirecciona y observa tu BD cuantos registros guarda.

Un saludo,
  #10 (permalink)  
Antiguo 25/05/2005, 12:49
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
....
Funciona igual... es decir se sigue ejecutando dos veces !!
  #11 (permalink)  
Antiguo 25/05/2005, 13:36
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 12 años, 8 meses
Puntos: 2
Hola!

Como sabes que se ejecuto 2 veces ?
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #12 (permalink)  
Antiguo 25/05/2005, 13:58
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
se que se ejecuta dos veces porque al actualizar el stock de un producto que tenia por ejemplo 10 unidades y yo le quite uno en la db quedan 8 en vez de quedar 9 !!!....
...Este problemilla me tiene realmente fuera de foco pues sucede lo mismo al insertar o con javascript o con cualquier script....
...Realmenmte raro no creen !!!
  #13 (permalink)  
Antiguo 25/05/2005, 14:21
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 12 años, 8 meses
Puntos: 2
Si es raro...

Mira, en la consulta de update estas usando 'cantidad', entonces eso no debe de ser, usalo sin las comillas, como:

stock = stock - " . $cantidad . " wher.........

Te recomiendo que primero pruebes la consulta directo en tu administrador de bases de datos, y despues la adaptes a tu PHP para ver que pasa.

Es posible que por ahi vaya el problema, ademas, prueba quitar del final, para que se quede estatico y puedas ver exactamente que esta pasando en ese script, como:

$DB->Close();

header("Location: ../boleta.php");

Cambialo por:

$DB->Close();

echo "Aqui estoy <br>";

Entonces si ese texto se te escribe dos veces en pantalla, es que realmente se ejecuto dos veces (cosa que no creo que pase), pero por ahi es un comienzo.

Suerte!!, sera interesante dar con el error, porque todo pareciera correcto, menos lo de las comillas.
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #14 (permalink)  
Antiguo 25/05/2005, 14:51
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
... la consulta sql la adapte como dijo cluster y quedo asi
Código PHP:
 $SQL "UPDATE productos SET stock = stock - '".$cantidad."' WHERE ide = '".$_POST["txtIde"]."' ";
// ejecutas tu consulta ... 
lo cual funciona correctamnete....pero lo malo es que funciona dos veces es decir esta haciendo 2 updates porque al poner $DB->debug = true; muestra dos veces esa consulta....
...ahhhh estoy trabajando con ADOBD...
  #15 (permalink)  
Antiguo 25/05/2005, 16:11
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 12 años, 8 meses
Puntos: 2
Ok.

Bueno, yo te recomendaria solamente hacer la prueba que te mencione, como te digo no veo tampoco algo que me diga que esta mal, o bien, solo esos detallitos para comenzar a hacer pruebas.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #16 (permalink)  
Antiguo 25/05/2005, 16:25
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
he pensado que puede ser algo asi como un bug's de php o apache.... ¿es posible? !!!
  #17 (permalink)  
Antiguo 26/05/2005, 07:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tienes mucha lógica por médio que no es tuya (por ejemplo la classe ADOdb que usas para acceder a tu BD) así que -antes- de pensar en un bug de PHP deberías pensar en un "mal uso" de AdoDB tal vez o incluso "bug" .. pero de esta .. no de PHP.

Te recomiendo hacer un ejercicio práctico aislado .. No uses tu classe ADOdb .. usa las funciones primárias de acceso a tu BD (si usas Mysql .. pues ya conoces: mysql_xxx() funciones) .. haz la conexión a tu BD .. y ejecuta tu consulta SQL con esas funciones básicas . .Si eso te funciona ya puedes ir "pensando" en un mal uso o "bug" de la "capa de abastracción" (tu classe de acceso a tus BD) que usasas.

Un saludo,
  #18 (permalink)  
Antiguo 26/05/2005, 10:15
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
Ok Cluster ...

he hecho lo que dijiste de usar las funciones base de PHP, pero me encuentro con la sorpresa que de igual manera que usando ADODB los scripts se ejecutan 2 veces !!!
Código PHP:
<?php
//include("../../../config.php");
//include("../../../class/adodb/adodb.inc.php");
include("../../../class/class.boleta.php");
session_start();
//include("../../../valores-enviados.php");
/*
$DB = NewADOConnection('mysql');
$DB->SetFetchMode(ADODB_FETCH_ASSOC);
$DB->debug = false;
if ( [email protected]$DB->Connect($HOST, $DB_USER, $DB_PASS, $DB_NAME) ) {
    echo "Error al conectar la base de datos ";
    exit;
}
*/
$conexion mysql_connect("localhost""db_user" "db_pass");
mysql_select_db("db_name"$conexion);

//$RS = $DB->Execute("SELECT * FROM productos WHERE ide = '".$_POST["txtIde"]."' ");
$rs mysql_query"SELECT * FROM productos WHERE ide = '".$_POST["txtIde"]."' "$conexion );
//$codigo = $RS->fields["codigo"];
$codigo mysql_result($rs0"codigo");
$cantidad $_POST["txtCantidad"];
//$descripcion = $RS->fields["descripcion"];
$descripcion mysql_result($rs0"descripcion");
//$precio_costo = $RS->fields["precio"];
$precio_costo mysql_result($rs0"precio");
$precio_venta $_POST["txtPrecioUnitario"];
$descuento $_POST["txtDescuento"];
//$con_serial = $RS->fields["con_serial"];
$con_serial mysql_result($rs0"con_serial");
//$modifica_stock = $RS->fields["modifica_stock"];
$modifica_stock mysql_result($rs0"modifica_stock");

$_SESSION["objBoletaVenta"]->AddItem($codigo$cantidad$descripcion$precio_costo$precio_venta$descuento$modifica_stock);

// Actualizo el stock del producto
//$SQL = "UPDATE productos SET stock = (stock - ".$cantidad.") WHERE ide = '".$_POST["txtIde"]."' ";
mysql_query"UPDATE productos SET stock = (stock - ".$cantidad.") WHERE ide = '".$_POST["txtIde"]."' "$conexion );
//$DB->Execute($SQL);
//$DB->Close();

//exit;
header("Location: ../boleta.php");
?>
...he dejado el codigo anterior comentado..
  #19 (permalink)  
Antiguo 26/05/2005, 10:53
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 12 años, 8 meses
Puntos: 2
Hola!

Has las pruebas que te dije, quita el redirect de Header y quita las comillas a la consulta, realmente creo que en esos detallitos esta el problema.

Suerte!!

Bueno, no se pierde nada con probar no crees ?
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
  #20 (permalink)  
Antiguo 26/05/2005, 11:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Otros detalles ...

$cantidad = $_POST["txtCantidad"];

ya que viene de un formulario .. sería recomendable "filtrar" esa variable por ejemplo usando trim() para quitar espacios por delante y detras:

$cantidad = trim($_POST["txtCantidad"]);

Revisa que valores tiene $cantidad antes de atacar tu SQL .. y verifica que sea lo esperado.

Un saludo,
  #21 (permalink)  
Antiguo 26/05/2005, 11:17
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
lo estoy debugueando como me dices cluster y estos son los valores que recivo del formulario
Código:
Valores enviados con el metodo POST:
txtIde => 777
txtCodigo => 01010
txtDescripcion => dsa
txtStock => 
txtCantidad => 1
txtPrecioUnitario => 1250
txtDescuento => 
Valores enviados con el metodo GET:
Valores enviados con el metodo POST_FILES: 
... y el SQL queda asi
Código:
UPDATE productos SET stock = (stock - 1) WHERE ide = '777'  
... no veo nada malo en esto !!!
  #22 (permalink)  
Antiguo 26/05/2005, 11:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Al parecer así no se vé nada extraño con la "recolección" de tus datos y sentencia SQL .. ahora abría que seguir con la redirección que se hace:

prueba con un link en lugar de "automáticamente" con el header(....) para que puedas "ver" los valores de tus variables y como "fluye" el código.

Un saludo,
  #23 (permalink)  
Antiguo 26/05/2005, 11:51
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
ok...
lo hice con un link pero de igual manera sigue haciendo 2 veces.....
... y lo extraño es que ejecuta todo el script dos veces exceptuando la ultima linea que es el "header"

aqui el code de como lo deje
Código:
.......
//header("Location: ../boleta.php");
echo "<A href=\"../boleta.php\">[ VOLVER ]</A>";
  #24 (permalink)  
Antiguo 26/05/2005, 14:57
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
...puede ser un troyano o algo asi ????
.... los servers son Linux
  #25 (permalink)  
Antiguo 27/05/2005, 08:48
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
...hey alguien puede ayudarme con este pequeño problema que se esta volviendo algo cada vez mas grande !!!????

Gracias !!!
  #26 (permalink)  
Antiguo 27/05/2005, 09:16
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
Si no es del vamos, es del veremos, no veo error en tu script, pero me gustaría ver la classe q incluyes include("../../../class/class.boleta.php");
Cuando usas include, PHP lo lee y ejecuta. El bucle puede estar ahí.
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #27 (permalink)  
Antiguo 27/05/2005, 09:29
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
ok.... ahy va la clase boleta....
Código PHP:
class BOLETA {
    var 
$tipo;
    var 
$grabada false;
    var 
$numero;
    
    var 
$emision;
    var 
$vendedor;
    var 
$porcentaje;

    
//Variables para el detalle de la boleta
    
var $items;
    var 
$cantidad_item;
    var 
$codigo_item;
    var 
$descripcion_item;
    var 
$precio_unitario_item;
    var 
$descuento_item;
    var 
$total_item;
    var 
$utilidad_item;
    var 
$seriales;
    
    
//Variables para el total de la boleta
    
var $neto;
    var 
$iva;
    var 
$total;
    var 
$utilidad
Código PHP:
   /**
     * Funcion que agrega un item a la boleta.
     * @param string|El codigo del producto a agregar.
     * @param integer|La cantidad del producto.
     * @param string|Basicamente es el nombre del producto.
     * @param integer|El costo de compra de dicho producto.
     * @param integer|El precio al cual se esta vendiendo.
     * @param integer|El descuento aplicado al total.
     * @return void
     */    
    
function AddItem ($codigo$cantidad$descripcion$precio_costo=0$precio_venta=0$descuento=0$modifica_stock) {
        
//recorremos todos los itemss para saber si el nuevo a ingresar ya existe
        
$existe false;
        for ( 
$i=0$i $this->items$i++ ) {
            if ( 
$this->codigo_item[$i] == $codigo ) {
                
$existe true;
                break;
            }
        }
        
//si no existe...
        
if ( !$existe ) {
            
$this->codigo_item[] = $codigo;
            
$this->cantidad_item[] = $cantidad;
            
$this->descripcion_item[] = $descripcion;
            
$this->precio_costo_item[] = $precio_costo;
            
$this->precio_venta_item[] = $precio_venta;
            
$this->descuento_item[] = $descuento;
            
$this->modifica_stock_item[] = $modifica_stock;
        
$totalItem = ($cantidad*$precio_venta) - ( ($cantidad*$precio_venta)*($descuento/100) );
            
$this->total_item[] = $totalItem;
            
$this->utilidad_item[$this->items] = $totalItem - ($precio_costo*$cantidad);
            
            
$this->items count($this->codigo_item);
        }
        
//si ya existe...
        
else {
            
$this->cantidad_item[$i] += $cantidad;
        
$this->total_item[$i] += ($cantidad*$this->precio_venta_item[$i]) - ( ($cantidad*$this->precio_venta_item[$i])*($this->descuento_item[$i]/100) );
         
$this->utilidad_item[$i] = $this->total_item[$i] - ($this->precio_costo_item[$i]*$this->cantidad_item[$i]);
        }
        
        
//calculamos los totales de la boleta.
        
$this->neto 0;
        
$this->utilidad 0;
        for ( 
$i=0$i $this->items$i++ ) {
            
$this->neto += $this->total_item[$i];
        
$this->utilidad += $this->utilidad_item[$i];        
        }
        
$this->iva $this->neto 0.19;
        
$this->total $this->neto $this->iva;

    } 
Código PHP:
    /**
     * Funcion que quita un item de la boleta.
     * la factura.
     * @param integer|El item que se va a quitar.
     * @return void
     */
    
function RemoveItem ($item) {
    
        unset ( 
$this->codigo_item[$item] );         sort $this->codigo_item );
        unset ( 
$this->cantidad_item[$item] );         sort $this->cantidad_item );
        unset ( 
$this->descripcion_item[$item] );     sort $this->descripcion_item );
        unset ( 
$this->precio_costo_item[$item] );     sort $this->precio_costo_item );
        unset ( 
$this->precio_venta_item[$item] );     sort $this->precio_venta_item );
        unset ( 
$this->descuento_item[$item] );         sort $this->descuento_item );
        unset ( 
$this->modifica_stock_item[$item] );    sort $this->modifica_stock_item );
        unset ( 
$this->total_item[$item] );             sort $this->total_item );
        unset ( 
$this->utilidad_item[$item] );         sort $this->utilidad_item );

        
$this->items count($this->codigo_item);

        
//calculamos los totales de la boleta.
        
$this->neto 0;
        
$this->utilidad 0;
        for ( 
$i=0$i <= $this->items$i++ ) {
            
$this->neto += $this->total_item[$i];
         
$this->utilidad += $this->utilidad_item[$i];     
        }
        
$this->iva $this->neto 0.19;
        
$this->total $this->neto $this->iva;
    }


}
//CLASS 
  #28 (permalink)  
Antiguo 30/05/2005, 09:39
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
...al parecer el bucle no esta en la clase.... sino en alguna "cosa" que dispara que el script se ejecute dos veces pero solo hasta antes del header() la primera vez y la segunda el script completo
  #29 (permalink)  
Antiguo 30/05/2005, 21:28
Avatar de caerolus  
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 13 años, 3 meses
Puntos: 1
¿has probado a hacer un script sencillo y ver si se ejecuta dos veces?
Cualquier chorrada, como incrementar una variable de sesión y mostrarlo para ver si se incrementa dos veces o sólo una. Algo como esto:

Código PHP:
session_start();
if(
$_GET['action'] == 'ver'){
 echo 
$_SESSION['contador'];
 echo 
"<br><a href=\"".$_SERVER['PHP_SELF']."?action=ver\">Ver</a>";
 echo 
"<br><a href=\"".$_SERVER['PHP_SELF']."?action=incrementar\">Incrementar</a>";
}else if(
$_GET['action'] == 'incrementar'){
 
$_SESSION['contador']++;
 echo 
$_SESSION['contador'];
 echo 
"<br><a href=\"".$_SERVER['PHP_SELF']."?action=ver\">Ver</a>";
 echo 
"<br><a href=\"".$_SERVER['PHP_SELF']."?action=incrementar\">Incrementar</a>";
}else{
 
$_SESSION['contador'] = 0;
 
header("Location: ".$_SERVER['PHP_SELF']."?action=ver");

Compruébalo, para ver si es problema tuyo o de tu intérprete de php.
__________________
Mi página personal: Julián Urbano
  #30 (permalink)  
Antiguo 31/05/2005, 11:42
 
Fecha de Ingreso: noviembre-2004
Mensajes: 176
Antigüedad: 13 años, 1 mes
Puntos: 0
caerolus....
tu script funciona correctamente y como debe... es decir se incrementa solo una vez la variable de sesion... entonces el problema lo debo tener yo en alguna parte ¿pero no veo donde?!!!!

pense que podria ser ADODB pero comprobe que no era asi pues hice updates con las funciones de php como mysql_query()...etc.... pero me encontre con la sorpresa que igualmente se ejecutaban dos veces....
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 13:20.