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.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

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

Pesan error php

tkjtkj
edited April 2013 in Diskusi Pemrograman & IT
Para master web, saya mau nanya mengenai error php seperti ini "Notice: Undefined index: act in C:\xampp\htdocs\farid\menu.php on line 13". sebelumnya web ini saya jalankan dilocalhost. dan kode menu.php seperti dibawah ini :
<?php

echo "<a href='index.php'>Home</a>";

$sql = mysql_query("SELECT * FROM menu WHERE id_menu = '1'");

while($s = mysql_fetch_array($sql)){
$seo = $_GET['act'].'.html';

if($seo == $s[seo]){

echo "<a href='$s[seo]' class='hover'>$s[nama_menu]</a>";

} else {

echo "<a href='$s[seo]' >$s[nama_menu]</a>";

}

}
?>

Mohon pencerahannya

Terimakasih

Tanggapan

  • Terimakasih.
    saya dapat pesan error seperti ini gan Notice: Undefined index: edit in C:\xampp\htdocs\webfarid\admin\modul\berita\berita.php on line 107

    kode berita.php pada baris 107

    <?php } else if ($_GET['edit'] == 'berita') {...




    mohon pencerahannya gan
  • edited April 2013
    coba dech, letakkan code berikut pada baris pertama pada halaman web.....mudah-mudahan bisa yach


    error_reporting(E_ALL ^ E_NOTICE);
  • edited April 2013
    jangan membiasakan diri koding kagak bersih
    clean koding jauh lebih baik

    cuma menghilangkan munculnya pesan tidak sama dengan menghilangkan masalahnya sendiri

    arahnya bukan sekedar menghilangkan pesan notice
    tapi mengetahui bahwa value variabel harus pasti ada dan benar isinya
    validasi dan filtering

    meminimalisir celah script

    mau script nya bolong-bolong lalu di hack orang ?
  • Terimakasih.saya dapat pesan error seperti ini gan Notice: Undefined index: edit in C:\xampp\htdocs\webfarid\admin\modul\berita\berita.php on line 107
    kode berita.php pada baris 107
    <?php } else if ($_GET['edit'] == 'berita') {...



    mohon pencerahannya gan
    sama saja ...

    perlakukan sama dengan 'act'



    buang tuh "gan"
    atau ini reply terakhir dari gw buat elo
  • Yes, berhasil 
    Trimakasih mas

    saya dapat error lagi mas, pesannya mirimp dengan pesan error edit diatas tapi saya bingung kodingnya mau dirubah seperti apa. untuk lebih jelasnya ini pesan errornya Notice: Undefined index: etc in C:\xampp\htdocs\webfarid\admin\modul\berita\berita.php on line 379

    kode berita.php (379)

    <?php } else if ($_REQUEST['etc'] == 'foto') {...

    kira-kira saya harus rubah seperti apa kodenya mas ? maklum masih newbie.

  • edited April 2013
    itu kan sama semua mas ...

    coba to diperhatikan :

    Notice: Undefined index: act in C:\xampp\htdocs\farid\menu.php on line 13
    Notice: Undefined index: edit in C:\xampp\htdocs\webfarid\admin\modul\berita\berita.php on line 107
    Notice: Undefined index: etc in C:\xampp\htdocs\webfarid\admin\modul\berita\berita.php on line 379

    itu sama semua,
    cuma beda tempat file dan baris
    lalu beda nama index nya ...

    perlakukan 'etc' sama dengan 'act' dan 'edit'
    cuma beda variabel, yg lain $_GET, yg ini $_REQUEST
  • edited April 2013
    saran aja ...

    daripada sekedar inisialisasi value yg kosong atau tidak terdefinisi,
    sekalian validasi dan filtering

    ini contoh, kasus pertama :

    Notice: Undefined index: act in C:\xampp\htdocs\farid\menu.php on line 13

    itu notice merujuk pada : $seo = $_GET['act'].'.html';

    gw kagak tau, $seo dipake dimana, tapi contoh kecil ...
    elo bikin halaman baru, beri nama : test.php

    isinya :
    <?php
    $seo = $_GET['act'].'.html';
    header('location:'.$seo);
    ?>

    elo juga bikin file :
    page1.html, isinya : Halaman 1
    page2.html, isinya : Halaman 2

    contoh niat :
    kalo dibuka url test.php?act=page1 , akan di redirect ke page1.html ... muncul : Halaman 1
    kalo dibuka url test.php?act=page2 , akan di redirect ke page2.html ... muncul : Halaman 2

    jika tidak ada inisialisasi value, bakal muncul :
    Notice: Undefined index: act in C:\xampp\htdocs\test.php on line 2

    pasang inisialisasi value :
    <?php
    $_GET['act'] = isset($_GET['act'])?$_GET['act']:'';
    $seo = $_GET['act'].'.html';
    header('location:'.$seo);
    ?>

    masalah selesai ? belom ...

    bagaimana kalo pengunjung "iseng", menulis url : test.php?act=http://google.com?q=test

    halaman bakal di redirect ke page google ...

    ini perlunya validasi dan filter
    apa yg elo pake itu beneran apa yg elo butuh dan harus valid

    coba ubah baris yg semula hanya inisialisasi value, jadi merangkap filter dan validasi

    <?php
    $_GET['act'] = isset($_GET['act'])&&in_array(trim($_GET['act']),array('page1','page2'))?trim($_GET['act']):'page1';
    $seo = $_GET['act'].'.html';
    header('location:'.$seo);
    ?>

    default : selalu diarahkan ke 'page1.html'
    value salah, isian tidak sesuai keinginan : diarahkan ke 'page1.html'
    isian benar : sesuai pilihan ke 'page1.html' atau 'page2.html'

    itu cuma contoh sederhana validasi dan filter

    asal muasalnya sih dari memahami semua variabel harus ada isinya dan benar sebelum dipake ...

    dari kasus-kasus elo di atas,
    jika semula pemahaman hanya sampai warna hijau,
    sekarang ditambah sampai warna biru

    bentuk-bentuk filter dan validasi,
    tergantung kebutuhan, tipe data dan isinya
  • Terimakasih mas, sudah bisa dan insyaallah sudah paham dan mudah-mudahan benar
    hehehe
Sign In or Register to comment.