2010-12-03 7 views
2

Ich bin ein iframe-basierte - Facebook-Anwendung erstellen. Mein Problem ist, wenn ich Benutzer auf irgendeine Seite umlenke, kann ich sehen, dass Seiten zweimal geladen werden. (Zuerst zeigt es die Seite ohne CSS und dann wieder Seite wird mit CSS geladen). Das gleiche passiert, wenn ich irgendeine Form posten werde.Facebook-Anwendung - alles zweimal gepostet - iframe-basierte Anwendung

So wird jedes Formular zweimal gebucht. Daten werden zweimal für jede Aktion hinzugefügt. Außerdem kann ich alle meine POST-Daten in URL sehen ... Facebook gibt alle Sitzungsdaten in URL weiter. Es ist normal?

Fehle ich etwas? Bitte hilf mir. Unten ist mein Code.

foreach($records as $product_list) 
{ 
?> 
    <tr> 
    <td width="250"> 
     <form name="frm_product_<?php echo $product_list->product_id; ?>" id="frm_product_<?php echo $product_list-> product_id; ?>" action="cart.php"> 
     <?php echo $product_list->product_name; ?><br /> 
     Price : <?php echo $product_list->price; ?>&nbsp;SGD<br /> 
     <input type="hidden" name="product_id" value="<?php echo $product_list->product_id; ?>" /> 
     <input type="submit" name="btn_submit_<?php echo $product_list->product_id; ?>" id="btn_submit_<?php echo $product_list->product_id; ?>" value="Add to Cart" /> 
     <input type="hidden" name="action" value="add" /> 
     </form> 
    </td> 
    </tr> 
    <tr> 
    <td>&nbsp;</td> 
    </tr> 
<?php 
} 
?> 

if(isset($_REQUEST['action']) && $_REQUEST['action']=='add') 
{ 

    $cart = new Cart($db); 
    $cart->user_id = 1; 
    $cart->product_id = $_REQUEST['product_id']; 
    $cart->qty = 1; 
    $cart->add_to_cart1(); //this is adding items two times 
} 

Vielen Dank im Voraus.

+0

Es ist schwer zu sagen, was Ihre Doppel-Ausgabe/CSS Probleme verursacht, aber ich kann Ihre Frage zu beantworten die Daten in der URL. Die Standardmethode für das Element "

" ist GET, das angibt, dass die Formulardaten in der URL codiert sind. Um die Formularinformationen auszublenden, verwenden Sie POST: ''. Ausführliche Informationen finden Sie auf der [w3-Seite] (http://www.w3.org/TR/html401/interact/forms.html#adef-method). –

+0

Ich habe seltsame Probleme mit FB gesehen, wenn der Cross-Domain-Empfänger nicht eingestellt ist. Nicht sicher, ob das hier relevant ist oder nicht. Siehe: http://www.ivankristianto.com/internet/blogging/fix-facebook-cross-domain-receiver/1334/ – Matthew

Antwort

0

Bei Doppelpostproblemen sollten Sie immer überprüfen, ob ein image href auf '' (leere Zeichenkette) gesetzt ist. Es ist eine URL oder eine URL() in einem CSS. Dies ist kein Problem, aber eine Design-Entscheidung in HTTP, leere GET-URL (wie ein leeres Bild src) bedeutet Redio die Anfrage, die Sie auf der Seite bekommen (das könnte ein POST sein). Es ist vielleicht nicht dein Fall, aber das letzte Mal war ich damit 3 Tage zu finden :-)

Verwandte Themen