cade 0 Report post Posted June 29, 2007 biasa nye dlm php.ini setting akan discard sumer session yg hang upon closing the browser. So server akan assume user dah logout...aku nyer masalah kat atas x settle lagi la amin007. Session aku mcm di 'unset' bila aku navigate ke page lain...FYI, aku pakai windows XP, php 4.4.4 configured with IISwhen you're using session trans sid ENABLED, and you perform redirect such as Header( "Location..." ), redirected client will SURELY loose his session.to avoid this, you can use a modified version of redirect function, like this:<?phpfunction Redirect302( $location ){ $sname = session_name(); $sid = session_id(); if( strlen( $sid ) < 1 ) { Header( $location ); return; } if( isset( $_COOKIE[ $sname ] ) || strpos( $location, $sname."=".$sid ) !== false ) { Header( $location ); return; } else { if( strpos( $location, "?" ) > 0 ) $separator = "&"; else $separator = "?"; $fixed = $location . $separator . $sname."=".$sid; Header( $fixed ); return; }}?>expamle:Redirect302( "Location: /YourPage/index.php" );the function performs common redirect if no session is active, and appends session "name=sid" to query string when session is already started, like PHP parser does when outputting your page.hope, you'll find it useful.yours:)ini aku jpe kat php official sites...sesapa leh tolong translate Quote Share this post Link to post Share on other sites
amin007 1 Report post Posted July 4, 2007 (edited) aku dah baca kat php.net pasal session niyang aku jumpa ialahhttp://my2.php.net/manual/en/function.session-start.phphttp://my2.php.net/manual/en/function.session-id.phpcade, kalau ko nak tahu, aku guna session ni untuk 2 aplikasi1) nak login & kekalkan hingga logout2) nak tahu sql selepas insert,update & deleteaku hanya daftar apa $_session[] yg aku nak,lepas tu buat header('Location:link_papar.php?jadual=link&item=10')ini kod sql// hidupkan $_SESSION $_SESSION['sql'] = $query; $_SESSION['rekod'] = "Rekod Ditambah"; $_SESSION['jumlah'] = mysql_affected_rows(); header('Location:link_papar.php?jadual=link&item=10'); ni kod nak paparkan data dari database <? ##################### include "sesi.php"; # ##################### ?> <html> <head><title>View All [<?=$_GET[jadual];?>]</title></head> <body> <? echo "<fieldset><legend>SQL : ".$rekod.":".$jumlah."</legend> <pre>SQL = {".$sql."}</pre></fieldset>\n"; $_SESSION['rekod'] = ""; $_SESSION['jumlah'] = ""; $myTable=$_GET[jadual]; if (!isset($_REQUEST['asing']) ) { $sql = "SELECT * FROM ".$myTable." ORDER BY 1,3,4";} else {$sql = "SELECT * FROM ".$myTable." WHERE id_kategori_menu = '".$_REQUEST[id_kategori_menu]."' ";} ############################### include "buka_db.php";// buka pangkalan data # ############################### echo "<fieldset>"; ################################ // ambil halaman semasa, jika tiada, cipta satu! # if ( !isset($_REQUEST['page']) ){$page = 1;} else {$page = $_REQUEST['page'];} ################################ #--------Mula- query MySQL (LIMIT ".$dari_baris.", ".$baris_max.") $baris_max = $_REQUEST['item']; // berapa item dalam satu halaman $dari_baris = (($page * $baris_max) - $baris_max); // Tentukan had query berasaskan nombor halaman semasa. $bil = $dari_baris+1; // nak tentukan berapa bilangan baris dlm satu muka suras $query = " ".$sql." LIMIT ".$dari_baris.", ".$baris_max." "; $result = @mysql_query($query) or die (mysql_error()."<hr>$query<hr>"); $fields = mysql_num_fields($result) or die("Num Fields Failed/ Nama Medan Takde"); $rows = mysql_num_rows($result); // nak cari $rows if ($rows=='0'): echo "<legend><font color=blue face=Wingdings size=5>L</font></legend>\n"; else: // mula kalau jumpa echo "<legend>Jadual :".$myTable."| Bil Brg=".$rows."\n</legend>\n"; echo "<table border=1>\n"; echo "<tr>\n";// dptkan nama medan echo "<td>Proses</td>\n"; $medan = mysql_field_name($result,0); for ( $f = 0; $f < $fields; $f++ ) { $name = mysql_field_name($result,$f); echo "<td>$f-".$name."</td>\n"; } echo "</tr>\n"; while($row = mysql_fetch_array($result)) {// mula papar imej echo ($bil++ % '2'=='0')? "<tr bgcolor='plum'>" : "<tr>"; $medan2="jadual=$myTable&pilihan=$medan&carian=$row[0]"; echo "<td bgcolor='skyblue'>". "\n<a href='link_ubah.php?$medan2'>U</a> | ". "\n<a href='link_buang.php?$medan2'>X</a>". "</td>\n"; for ( $f = 0; $f < $fields; $f++ ) { echo "<td>".$row[$f]."</td>\n"; } echo "</tr>\n"; }// tutup papar imej echo "</table>\n"; endif; //tamat jika jumpa // tamat - cari $rows #Tamat- query MySQL (LIMIT ".$dari_baris.", ".$baris_max.") #Mula - Bina hyperlink untuk nombor halaman $query = " ".$sql." "; $result = mysql_query($query) or die (mysql_error()); $bil_semua = mysql_num_rows ($result); // Tentukan bilangan baris di dalam DB: $muka_surat = ceil($bil_semua / $baris_max);// Tentukan bilangan halaman. $senarai_medan="jadual=$myTable&item=$baris_max"; //////////////////////////////////////////////////////////////////////////////////////// echo "<div align=left>Jum Semua:($bil_semua). Pilih halaman <br>"; // Papar halaman if($page > 1) // Bina halaman sebelum { $prev = ($page - 1); echo "\r<a href='?page=$prev&$senarai_medan'>Sebelum</a> |"; } for($i = 1; $i <= $muka_surat; $i++) // Bina halaman terkini { if(($page) == $i){echo " ($i) |";} else {echo "\r<a href='?page=$i&$senarai_medan'>$i</a>|";} } if($page < $muka_surat) // Bina halaman akhir { $next = ($page + 1); echo "\r<a href='?page=$next&$senarai_medan'>Lagi</a>"; } echo "</div>\r"; //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// echo "<a href='link_cari.php?jadual=$myTable'>Cari</a>"; echo "</fieldset>\r";$id=$bil_semua+1; #Tamat - Bina hyperlink untuk nombor halaman //--------------------------------------------------------------------- // Asing Ikut kategori_menu echo "\r<form method='get' enctype='multipart/form-data' action='link_papar.php'>". "\r<input type='hidden' value='$myTable' name='jadual'>". "\r<input type='text' value='$baris_max' name='item'>". "\r<select size='1' name='id_kategori_menu'>"; $query = "SELECT id_kategori_menu, kategori_menu FROM ".$myTable." GROUP BY 1 ORDER BY 1 "; $result = mysql_query($query) or die (mysql_error()); $fields = mysql_num_fields($result) or die("Num Fields Failed/ Nama Medan Takde"); $rows = mysql_num_rows($result); // nak papar bil $rows if ($rows=='0'): echo "\r<option>Data Belum Ada. :(</option>"; // kalau jumpa else: while($row = mysql_fetch_array($result)) {echo "\r<option value='".$row[0]."'>".$row[0]."]".$row[1]."</option>";} endif; //tamat jika jumpa echo "\r</select>". "\r<input type='submit' value='Asing' name='asing'>". "\r</form>"; //--------------------------------------------------------------------- //--------------------------------------------------------------------- $query = "SELECT kategori_menu, id_kategori_menu, count(*) as Jum FROM ".$myTable." GROUP BY kategori_menu ORDER BY 2 "; $result = mysql_query($query) or die (mysql_error()); $fields = mysql_num_fields($result) or die("Num Fields Failed/ Nama Medan Takde"); $rows = mysql_num_rows($result); // nak papar bil $rows if ($rows=='0'): echo "\r<font color=white face=Wingdings size=5>L</font>"; // kalau jumpa else: echo "\r<hr><a href='link_tambah.php?jadual=$myTable&pilihan=$medan&id=$id'>Tambah Link</a> |<br>"; while($row = mysql_fetch_array($result)) { echo "\r<a href='link_tambah.php?jadual=$myTable&pilihan=$medan&id=$id&menu=$row[0]&idmenu=$row[1]'> ".$row[1].")".$row[0]."</a>-".$row[2]." |<br>"; } endif; //tamat jika jumpa //--------------------------------------------------------------------- ?> </body> </html>kalau ko orang perasan, aku tak guna session_start(); punaku letak kat dlm include "sesi.php";kaedah yg sama juga aku guna untuk login juga.ni contoh yg aku buathttps://amin007.org/penduduk/sirap/kat sini, tiap2 fail aku letak include "sesi.php";cuba ko orang masuk, username & password = userini ayat yg ko akan jumpaDi bawah ini adalah link kepada sistem tersebut :Peta Daerah BanciRangka BPM3 - Penerangan Tentang Kawasan Peta Daerah BanciL2A - Penyenaraian Tempat Kediaman (TK) Di Dalam Blok Penghitungan (BP)L2B - Butir - butir Isi RumahSPDRB - Sistem Pangkalan Data Rangka Bancikalau tak faham, .... tanya kat sinisetakat yg aku guna session jarang aku hilang data $_session[]melainkan kalau masa dah tamat hehehejika guna kod yg aku pakai ni.nak senang, ko paparkan nilai $_session[],jadi ko akan tahu nilainya apa.tapi kalau tiba2 hilang & masa ada lagi, tu ..... Edited July 23, 2007 by amin007 Quote Share this post Link to post Share on other sites
cade 0 Report post Posted July 8, 2007 aku dah cuba...ntah apa problemyner ntah.....skrg aku guner cookie. Any advise? Quote Share this post Link to post Share on other sites
amin007 1 Report post Posted July 9, 2007 ko pakai cookie jadi tak?cade, kalau ko buat kat pc (localhost) session jadi tak? Quote Share this post Link to post Share on other sites
cade 0 Report post Posted July 21, 2007 guna session kat localhost jadi beb....cookie kat mana2 pun jadi Quote Share this post Link to post Share on other sites