2013-11-27 2 views
-1

Привет я получаю сообщение об ошибке, как: Undefined индекс: Акси мой PHP код является:Undefined индекс: Акси в PHP

<?php 
include"class_koneksi.php"; 
$db=new database(); 
$db->konek(); 

if(isset($_GET['aksi']) && $_GET['aksi'] ==''){ 

    $daftar=$db->tampilData(); 
     echo"<table border=1> 
      <tr> 
       <td>Id</td> 
       <td>Nama</td> 
       <td>Email</td> 
       <td>Pesan</td> 
       <td>Edit</td> 
       <td>Hapus</td> 
      </tr>"; 
    foreach($daftar as $data){ 
     echo" <tr> 
       <td>".$data['id']."</td> 
       <td>".$data['nama']."</td> 
       <td>".$data['email']."</td> 
       <td>".$data['pesan']."</td> 
       <td><a href='?aksi=edit&id=$data[id]'>edit</a></td> 
       <td><a href='?aksi=hapus_data&id=$data[id]'>Hapus</a></td> 
      </tr>"; 
    } 
    echo"</table> <br> <a href='?aksi=tambah'>TAMBAH</a>"; 


}elseif($_GET['aksi']=='tambah'){ //line 31 
    echo"<br> 
    <form method=POST action='?aksi=tambah_data'> 
     <table> 
      <tr><td>Nama</td><td><input type=text name='nama'></td></tr> 
      <tr><td>Email</td><td><input type=text name='email'></td></tr> 
      <tr><td>Pesan</td><td><input type=text name='pesan'></td></tr> 
      <tr><td></td><td><input type=submit value='simpan'></td></tr> 
     </table> 
    </form> 
    "; 

}elseif($_GET['aksi']=='tambah_data'){ line 43 
    $id=$_POST[id]; 
    $nama=$_POST['nama']; 
    $email=$_POST['email']; 
    $pesan=$_POST['pesan']; 
    $db->tambahData($id,$nama,$email,$pesan); 

}elseif($_GET['aksi']=='edit'){ //50 
    $id=$_GET['id']; 
    echo"<br> 
     <form method=POST action='?aksi=update_data'> 
      <table> 
       <tr><td>Id</td><td><input type=text name='id' value='".$db->bacaData(id,$id)."'></td></tr> 
       <tr><td>Nama</td><td><input type=text name='nama' value='".$db->bacaData(nama,$id)."'></td></tr> 
       <tr><td>Email</td><td><input type=text name='email' value='".$db->bacaData(email,$id)."'></td></tr> 
       <tr><td>Pesan</td><td><input type=text name='pesan' value='".$db->bacaData(pesan,$id)."'></td></tr> 
       <tr><td></td><td><input type=submit value='simpan'></td></tr> 
      </table> 
     <input type='hidden' name='id' value='".$db->bacaData(id,$id)."'> 
     </form> 
    "; 

}elseif($_GET['aksi']=='update_data'){ //line 65 
    $id=$_POST[id]; 
    $nama=$_POST['nama']; 
    $email=$_POST['email']; 
    $pesan=$_POST['pesan']; 
    $db->updateData($id,$nama,$email,$pesan); 

}elseif($_GET['aksi']=='hapus_data'){ //line 72 
    $id=$_GET['id']; 
    $db->hapusData($id); 
} 

?> 

вы можете сказать мне, что проблема из этого кода, если (Исеть ($ _ GET [ 'aksi']) & & $ _GET ['aksi'] == ''), но ошибка Undefined index: aksi in C: \ xampp \ htdocs \ crud \ lat1.php в строке 31,43,50,65,72 есть any1 кто жвачку помочь мне из этого

заранее спасибо

ответ

0

Вам нужно положить isset($_GET['aksi']) && в каждом из ваших заявлений IF, поскольку они отделены друг от друга. Поэтому использование его в вашем первом заявлении IF не означает, что оно используется в остальных.

Например:

}elseif(isset($_GET['aksi']) && $_GET['aksi']=='tambah'){ // line 31 

}elseif(isset($_GET['aksi']) && $_GET['aksi']=='tambah_data'){ // line 43 
0

реструктуризировать ваш, если на что-то вроде этого:

if(isset($_GET['aksi'])) 
{ 
    if($_GET['aksi'])=='') ... 

    if($_GET['aksi'])=='anyvalue') ... 

    //..and so on 
} 
0

Вы бы лучше префикса всего сравнения один раз, чтобы увидеть, если есть значение. И, возможно, даже объединить его с switch вместо различных сравнений:

switch (isset($_GET["aksi"]) ? $_GET["aksi"] : "") { 

    case "": 
     /// 
     break; 

    case "tampah": 
     /// 

    case "tampah_data": 
     /// 

    case "edit": 
     /// 

Это кратко и часто легче следовать.

Также исследуйте строки HEREDOC для двух выходных блоков. Они позволяют использовать двойные кавычки для HTML, но также интерполировать переменные или varexpressions.

0
error_reporting(E_ALL^E_NOTICE) 
+0

Не могли бы вы объяснить * почему *? Любая ссылка на документацию? – brasofilo

+0

Я думаю, что это уведомление, а не error.so [ссылка] (http://php.net/manual/en/function.error-reporting.php) –

+0

К сожалению, я должен был указать на это: [ответить] – brasofilo

Смежные вопросы