0 レビュー
4 回答
post-未定義のインデックス:PHPのaksi
こんにちは、次のようなエラーが発生します:Undefined index:aksi my php code is:
<?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);
}
?>
このコードの問題if(isset($ _ GET ['aksi'])&& $ _GET ['aksi'] =='')がエラー未定義のインデックス:C:\ xampp\htdocsのaksiを教えてください31、43、50、65、72行目の\ crud \ lat1.php これから私を助けてくれる人はいますか
よろしくお願いします
わからない
0
レビュー
答え :
解決策:
各IF
ステートメントにisset($_GET['aksi']) &&
をそのまま入力する必要があります互いに分離します。したがって、最初の IF
ステートメントで使用しても、残りのステートメントで使用されるわけではありません。
例:
} elseif(isset($_GET['aksi']) && $ _GET ['aksi'] =='tambah'){//31行目
} elseif(isset($_GET['aksi']) && $ _GET ['aksi'] =='tambah_data'){//43行目
わからない
0
レビュー
答え :
解決策:
if'sを次のように再構築します:
if(isset($_GET['aksi']))
{
if($_GET['aksi'])=='') ...
if($_GET['aksi'])=='anyvalue') ...
//..and so on
}
わからない
0
レビュー
答え :
解決策:
比較全体に接頭辞を1回付けて、値があるかどうかを確認することをお勧めします。また、さまざまな比較の代わりに、 switch
と組み合わせることもできます:
switch(isset($ _ GET ["aksi"])?$ _ GET ["aksi"]: ""){
場合 "":
///
壊す;
ケース「タンパ」:
///
ケース「tampah_data」:
///
ケース「編集」:
///
これは簡潔で、多くの場合、わかりやすくなっています。
2つの出力ブロックのHEREDOC
文字列も調べます。これらは、HTMLに二重引用符を使用することを許可しますが、変数またはvarexpressionsを補間することもできます。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。