Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Cara mencegah submit double ketika tekan f5 di action

#‎ASK‬
saya membuat sesion di action submit form untuk mengkali supaya tidak
terjadi submit double (tekan f5)..sudah berhasil tp permasalahnya saya
mau submit lagi dengan submit inputan baru..kadang gak bisa masuk ke
databasenya apakah saya harus kasih time nya di sesionya ?
session_start();
if (!$_SESSION['submit'])
{
echo "ERROR: form sudah disubmit sebelumnya!";
header('Location:./'); //clears POST
}
else {
// mengubah session menjadi false setelah submit sukses
$_SESSION['submit'] = false;
mysql_query("INSERT INTO orders(id_inv,nama_kustomer, alamat, telpon, email, tgl_order, jam_order)
Tagged:

Comments

  • edited June 2016
    submit dobel itu ndak perlu pake session
    cukup redirect aja ke dirinya sendiri atau url lain

    <?php
    ...
    if(isset($_POST['xxx'])) {
      ... INSERT INTO ...

      header('location:...');
    }
    ...
    ?>

    gitu cukup, ndak perlu pake session
  • kepiting

    saya uda obek2 di google lom nemu2 solusinya
  • lha itu sudah ta kasih contoh
  • kk kepiting saya uda buat kaya gini gak berhasil

    if(isset($_POST['submit']))
                {
    // simpan data pemesanan
    mysql_query("INSERT INTO orders(id_inv,nama_kustomer, alamat, telpon, email, tgl_order, jam_order)
                 VALUES('$NewID','$_POST[nama]','$_POST[alamat]','$_POST[telpon]','$_POST[email]','$tgl_skrg','$jam_skrg')");
      } else {
    header('Location:./'); //clears POST
      }
  • itu lengkapnya kaya apa ?

    header(), session_start()
    ndak akan bisa jalan kalo sudah ada output ke browser

  • if(isset($_POST['submit']))
                {
    // simpan data pemesanan
    mysql_query("INSERT INTO orders(id_inv,nama_kustomer, alamat, telpon, email, tgl_order, jam_order)
                 VALUES('$NewID','$_POST[nama]','$_POST[alamat]','$_POST[telpon]','$_POST[email]','$tgl_skrg','$jam_skrg')");
     
    // mendapatkan nomor orders
    $id_orders=mysql_insert_id();

    // panggil fungsi isi_keranjang dan hitung jumlah produk yang dipesan
    $isikeranjang = isi_keranjang();
    $jml          = count($isikeranjang);

    // simpan data detail pemesanan 
    for ($i = 0; $i < $jml; $i++){
      mysql_query("INSERT INTO orders_detail(id_orders, id_produk, jumlah)
                   VALUES('$id_orders',{$isikeranjang[$i]['id_produk']}, {$isikeranjang[$i]['jumlah']})");
    }

     
    // setelah data pemesanan tersimpan, hapus data pemesanan di tabel pemesanan sementara
    for ($i = 0; $i < $jml; $i++) {
      mysql_query("DELETE FROM orders_temp
                       WHERE id_orders_temp = {$isikeranjang[$i]['id_orders_temp']}");
    }
     } else {
     header('Location:./');
      }

     dan untuk formnya

     echo "<span class=judul_head>&#187; <b>Data Pembeli</b></span><br />
          <form method=POST action=$accank/simpan-transaksi.html>
          <table>
          <tr><td>Nama</td><td> : <input type=text name=nama size=30></td></tr>
          <tr><td>Alamat</td><td> : <input type=text name=alamat size=50></td></tr>
          <tr><td>Telpon/HP</td><td> : <input type=text name=telpon></td></tr>
          <tr><td>Email</td><td> : <input type=text name=email></td></tr>
          <tr><td colspan=2><input type=submit value=Proses></td></tr>
          </table>";

  • ndak usah dipotong atau dipisah mas'e ...

    script yg ada : if(isset($_POST['submit']))

    post aja isi satu file ke mari
  • hhehe ia kepiting  ini kk untuk form actionya...saya bingung gmna mengkalinya..uda di ubek2 stackoverflow.com tp lom ada solusinya?
    http://pastebin.com/MCs985gb
  • edited June 2016
    lhah ? yg gw tunjukin contohnya gimana ?

    beda atau sama ?
    <?php
    ...
    if(isset($_POST['xxx'])) {
      ... INSERT INTO ...

      header('location:...');
    }
    ...
    ?>
    <?php
    ...
    if(isset($_POST['xxx'])) {
      ... INSERT INTO ...
    }
    else {
      header('location:...');
    }
    ...
    ?>

    beda atau sama ?
  • kan cuma namabhin ini aj di actionnya
    if(isset($_POST['xxx'])) {
    mysql_query("INSERT INTO orders(id_inv,nama_kustomer, alamat, telpon, email, tgl_order, jam_order)          
    } else
    {
      header('location:...');
    }
  • edited June 2016
    serius ? elo anggap itu sama ?
  • edited June 2016
    <?php
    $a = 0; $b = 2;

    if($b < 5) { $a = 10; }
    else { $a = 5; }

    echo $a;
    ?>

    <?php
    $a = 0; $b = 2;

    if($b < 5) { $a = 10; $a = 5; }

    echo $a;
    ?>

    sama ?
  • beda kk...klo seperti itu..
  • k kepiting nah klo sperti itu saya kurangnya dimna?
  • edited June 2016
    lhah, kan sudah gw tunjukin ...

    ini contoh gw :
    <?php
    ...
    if(isset($_POST['xxx'])) {
      ... INSERT INTO ...

      header('location:...');
    }
    ...
    ?>

    ini yg elo bikin :

    <?php
    ...
    if(isset($_POST['xxx'])) {
      ... INSERT INTO ...
    }
    else {
      header('location:...');
    }
    ...
    ?>

    ya tinggal elo ubah aja seperti yg gw contohin
    masa ndak liat bedanya ?
  • kakak kepiting saya udah coba seperti itu dr td..tp jadi gak masuk database ordernya datanya pas di submit..seperti ini saya buat
    if(isset($_POST['submit']))
                {
    // simpan data pemesanan
    mysql_query("INSERT INTO orders(id_inv,nama_kustomer, alamat, telpon, email, tgl_order, jam_order)
                 VALUES('$NewID','$_POST[nama]','$_POST[alamat]','$_POST[telpon]','$_POST[email]','$tgl_skrg','$jam_skrg')");

    // mendapatkan nomor orders
    $id_orders=mysql_insert_id();

    // panggil fungsi isi_keranjang dan hitung jumlah produk yang dipesan
    $isikeranjang = isi_keranjang();
    $jml          = count($isikeranjang);

    // simpan data detail pemesanan 
    for ($i = 0; $i < $jml; $i++){
      mysql_query("INSERT INTO orders_detail(id_orders, id_produk, jumlah)
                   VALUES('$id_orders',{$isikeranjang[$i]['id_produk']}, {$isikeranjang[$i]['jumlah']})");
    }
     
    // setelah data pemesanan tersimpan, hapus data pemesanan di tabel pemesanan sementara
    for ($i = 0; $i < $jml; $i++) {
      mysql_query("DELETE FROM orders_temp
                       WHERE id_orders_temp = {$isikeranjang[$i]['id_orders_temp']}");
    }
                }
  • lha mana header() -nya ?
  • saya tambahin juga headernya gak ngaruh kkk..tp klo gak pke iff submit datanya bisa ini yg pke headeranya

    if(isset($_POST['submit']))
                {
    // simpan data pemesanan
    mysql_query("INSERT INTO orders(id_inv,nama_kustomer, alamat, telpon, email, tgl_order, jam_order)
                 VALUES('$NewID','$_POST[nama]','$_POST[alamat]','$_POST[telpon]','$_POST[email]','$tgl_skrg','$jam_skrg')");

    // mendapatkan nomor orders
    $id_orders=mysql_insert_id();

    // panggil fungsi isi_keranjang dan hitung jumlah produk yang dipesan
    $isikeranjang = isi_keranjang();
    $jml          = count($isikeranjang);

    // simpan data detail pemesanan 
    for ($i = 0; $i < $jml; $i++){
      mysql_query("INSERT INTO orders_detail(id_orders, id_produk, jumlah)
                   VALUES('$id_orders',{$isikeranjang[$i]['id_produk']}, {$isikeranjang[$i]['jumlah']})");
    }
     
    // setelah data pemesanan tersimpan, hapus data pemesanan di tabel pemesanan sementara
    for ($i = 0; $i < $jml; $i++) {
      mysql_query("DELETE FROM orders_temp
                       WHERE id_orders_temp = {$isikeranjang[$i]['id_orders_temp']}");
    }
      header('location:./');
                }
  • elo pake ini :

    if(isset($_POST['submit']))

    di form elo emang ada yg "name" -nya "submit" ?

    gw liat kok kagak ada ...
    "submit" dari mana ?
    jelas ndak bakal masuk if() nya, lha wong $_POST['submit'] emang kagak ada
  • oia gak ngeh dari td kk..ke name submit buttonya pdahl kremn udah saya buat,,tau2 uda gak ada....makasih banyak kk kepiting
    pencerahanaya sudah work...makasih banayak
Sign In or Register to comment.