Postingan lainnya
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
Cara membuat Invoice
Saya mau bertanya
saya kan memiliki form order http://gmnetgrup.id/jasagb/order_char.php nah pas klik order saya kirim ke page http://gmnetgrup.id/jasagb/suksesexp.php
Pertanyaannya cara memangil atau menampilkan Kode Order yang tertera di form dan di tampilkan di halaman Invoice, itu caranya bagai mana ?
12 Jawaban:
Jawaban Terpilih
tinggal sertakan kode order itu di form aja gan.
order_char.php
<form method="post" action="suksesexp.php">
<input name="kode_order" value="ORDER_123" readonly>
<button type="submit">Order</button>
</form>
suksesexp.php
<?php
if(isset($_POST))
{
$kode_order = $_POST["kode_order"];
}
?>
<span>Nomor Invoice: <?php echo $kode_order; ?></span> // Nomor Invoice: ORDER_123
Eror Pak,
sebelum ke http://gmnetgrup.id/jasagb/suksesexp.php saya membuat page http://gmnetgrup.id/jasagb/proses.php untuk memproses data dari form ke data base,
Jadi alurnya begini mengisi form di http://gmnetgrup.id/jasagb/order_char.php terus memproses http://gmnetgrup.id/jasagb/proses.php untuk mengirim data ke database terus ke http://gmnetgrup.id/jasagb/suksesexp.php untuk meberikan intruksi ke buyer ( invocie order )
nah dari 'proses.php' ke 'suksesexp.php' itu redirectnya gimana? kalo buka melalui post ya pasti eror kalo pake kode diatas. paling gampang setelah penyimpanan di database sukses, disimpan di $_SESSION kode ordernya.
$_SESSION['kode_order'] = 'ORDER_123';
jadi pas redirect ke 'suksesexp.php' tinggal panggil
$kode_order = $_SESSION['kode_order'];
Detail kode proses.php
<?php
include('koneksi.php');
if(isset($_POST['orderclan'])){ //nama form
$id = $_POST['id'];
$nama = $_POST['nama'];
$nohp = $_POST['nohp'];
$linkfb = $_POST['linkfb'];
$idpb = $_POST['idpb'];
$nick = $_POST['nick'];
$itujuan = $_POST['itujuan'];
$ijumlah = $_POST['ijumlah'];
$itujuan2 = $_POST['itujuan2'];
$ijumlah2 = $_POST['ijumlah2'];
$ohasil = $_POST['ohasil'];
$ototall = $_POST['ototall'];
$opulsa = $_POST['opulsa'];
$otoken = $_POST['otoken'];
$oindo = $_POST['oindo'];
$sql = 'insert into pesanclan (id,nama,nohp,linkfb,idpb,nick,itujuan,ijumlah,itujuan2,ijumlah2,ohasil,ototall,opulsa,otoken,oindo) values ("'.$id.'","'.$nama.'","'.$nohp.'","'.$linkfb.'","'.$idpb.'","'.$nick.'","'.$itujuan.'","'.$ijumlah.'","'.$itujuan2.'","'.$ijumlah2.'","'.$ohasil.'","'.$ototall.'","'.$opulsa.'","'.$otoken.'","'.$oindo.'")';
$query = mysqli_query($db_link,$sql);
if($query){
header('location: suksesexp.php'); //di proses setelah terkirim ke data base
}
else{
echo 'Gagal';
}
}
?>
kalo begini kodenya simpan sebelah mana $_SESSION['id'] = 'ini di isi dengan apa ?';
coba ini gan
if($query){
$_SESSION['id'] = $id;
header('location: suksesexp.php'); //di proses setelah terkirim ke data base
}
NOTE: agan harus pastikan di awal script php sudah muncul session_start()
Masih eror pak
113 <?php
114 session_start();
115 if(isset($_POST))
116 {
117 $id = $_SESSION['id'];
118 }
119 ?>
120 <div class="panel-heading">
121 <b>#<?php echo id; ?></b> <i class="fa fa-hand-o-left"></i> Silahkan Kirim <b>Kode Order</b> di samping ke kontak di bawah ini
122 </div>
nah makanya saya kasih NOTE tadi diatas. error itu karena agan taruh session_start() di suksesexp.php yang mana merupakan redirect dari proses.php via header. session_start() hanya bisa dijalankan sebelum PHP mengirim konten ke browser. coba agan pindah session_start() di awal script php agan. script pertama misalnya init.php, atau file apapun yang agan include di awal script. sebagai referensi coba agan buka juga manual dari php tentang session_start();
Berhasil pak,
solusi dari saya barusan
if($query){
header('location: suksesexp.php'); //di proses setelah terkirim ke data base
}
else{
echo 'Gagal';
}
di hapus,
dan koding di suksesexp.php saya copy ke proses.php
:D
Makasih om dah bantu
Masalah kedua pak,
bagai mana caranya agar buyer tidak dapat mengakes langsung ke page http://localhost/pro1/proses.php
jadi logikanya jika kode order kosong maka akan di alihkan ke index.php
kalau liat code di proses php, mestinya agan bisa bikin begini
if(isset($_POST['orderclan'])){
//koding yang sudah ada berjalan biasa
}
else
{
header('location: index.php'); //kalau bukan post redirect ke index.php
exit;
}