Visualizzazione dei risultati da 1 a 9 su 9

Discussione: switch e funzioni

  1. #1

    switch e funzioni

    ciao,

    nel file file1.php ho:
    Codice PHP:
    switch ($action) {
        
        case 
    'update' :
            
    updateCart();
          
    query();
              break;
        

    voglio cioè far eseguire 2 funzioni se l'action = 'update'.
    le 2 funzioni si trovano in file2.php.
    il problema è che le $var che invio via POST a file2.php si fermano a updateCart() e a query() non arriva nulla.
    se disabilito updateCart() allora ok, la funzione query() và!
    c'è qualcosa di sbagliato nello switch oppure devo postare il codice di updateCart()?

    grazie

  2. #2
    posta updateCart()..
    magari alla fine di questa funzione c'è qualcosa che interrompe l'esecuzione..

  3. #3
    ciao,

    alla fine di updateCart c'era un exit; ma l'ho disabilitato e non cambia nulla...
    Codice PHP:
    function updateCart()
    {
        
    $cartId     $_POST['hidCartId'];
        
    $productId  $_POST['hidProductId'];
        
    $itemQty    $_POST['txtQty'];
        
    $numItem    count($itemQty);
        
    $numDeleted 0;
        
    $notice     '';

        for (
    $i 0$i $numItem$i++) {
            
    $newQty = (int)$itemQty[$i];
            if (
    $newQty 1) {
                
    // remove this item from shopping cart
                
    deleteFromCart($cartId[$i]);
                
    $numDeleted += 1;
            } else {

                
    // update product quantity
                
    $sql "UPDATE tbl_cart
                        SET ct_qty = 
    $newQty
                        WHERE ct_id = 
    {$cartId[$i]}";

                
    dbQuery($sql);
            }
        }

        if (
    $numDeleted == $numItem) {
            
    // if all item deleted return to the last page that
            // the customer visited before going to shopping cart
            //header("Location: $returnUrl" . $_SESSION['shop_return_url']);
            
    header('Location: home.php?page=cart');
        } else {
            
    header('Location: home.php?page=cart');
        }

        
    //exit;

    le $var che passo via post non sono quelle all'inizio della funzione.
    alla funzione query() dovrebbero arrivarne 2 solo per questa funzione

  4. #4
    il problema potrebbe esserci nell'header in quanto è una funzione abbastanza delicata..
    prova headers_sent per vedere se si blocca li..

    una domanda?ma il codice è tuo?
    l'hai modificato tu?prima funzinava?che mod hai fatto?

  5. #5
    sto modificando/ ampliando il codice.
    cmq non ho modificato updateCart(), ho solo creato la funzione query() per aggiungere una gestione dei dati prendendo le 2 $var in questione da un select multiplo e aggiunto la chiamata della funzione allo switch.
    il problema è solo lì, cioè non capisco perchè le 2 $var si perdono dopo updatecart....
    non ho capito a cosa serve headers_sent...per vedere se passano le variabili? ma come si usa?
    con print_r ci sono in updatecart, non ci sono su query(). e se disabilito updatecart dallo switch, ecco che magicamente riappaiono....
    mah....sono 3 giorni che cerco di risolvere sta cosa....






  6. #6
    il problema ripeto è in header..
    l'header deve essere chiamato prima di ogni output html..
    per caso puoi invertire le 2 funzioni?
    cioé prima esegui query e poi l'altra?

  7. #7
    ho provato a mettere la funzione query() prima di updateCart() sia nello switch che nel file che contiene le 2 funzioni, ma nulla ...non funziona lo stesso...
    come dicevo all'inizio, se disabilito updateCart() allora ok, la funzione query() và!
    quindi non dovrebbe centrare nulla header

  8. #8
    VVoVe: come non detto!
    dipendeva da header....

  9. #9

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.