Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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;
}