Çözüldü Admin sayfasında "Undefined array key" hatası

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Arsen Lüpen

Hectopat
Katılım
28 Şubat 2021
Mesajlar
81
Daha fazla  
Cinsiyet
Erkek
Merhaba yapılan işlemlerin sonucunu admin sayfasında göstermek istiyorum. Admin sayfasına ilk kez giriş yaptığımda hata alıyorum. Fakat save butonuna basıp işlem yapılınca hata kodu gidiyor, bildiri mesajı geliyor.
 

Dosya Ekleri

  • Ekran Görüntüsü (24).png
    Ekran Görüntüsü (24).png
    11,7 KB · Görüntüleme: 84
  • Ekran Görüntüsü (25).png
    Ekran Görüntüsü (25).png
    84,8 KB · Görüntüleme: 100
Çözüm
PHP:
if(@$_GET['insert'] == 'ok') {
    $successMsg="Başarılı";
    echo "<font color='green'><h5>".$successMsg."</h5></font>";
} elseif (@$_GET['insert'] == 'no') {
    $errorMsg="Hatalı";
    echo "<font color='red'><h5>".$errorMsg."</h5></font>";
} else {
    echo '';
}

Böyle dener misin?

Ayrıca butondaki name'in yanındaki tırnaklar yok.
Telefondan bakıyorum ama yanlış görmediysem eğer get parametresi boşsa kontrolü yaparsan hata almazsın diye düşünüyorum.

Yani empty olarak yapınca hata alıyorum yine. İsset olarak yapınca hata almıyorum. Ama veriyi ekle dediğimde yani save deyince eklendi diye bildirim gelmiyor.
 

Dosya Ekleri

  • Ekran Görüntüsü (26).png
    Ekran Görüntüsü (26).png
    48,4 KB · Görüntüleme: 48
PHP:
if($_GET['insert'] == 'ok') {
    $successMsg="Başarılı";
    echo "<font color='green'><h5>".$successMsg."</h5></font>";
} elseif ($_GET['insert'] == 'no') {
    $successMsg="Hatalı";
    echo "<font color='red'><h5>".$errorMsg."</h5></font>";
} elseif (empty($_GET)) {
  
}

Böyle dene bakalım çalışıyor olması lazım. @Arsen Lüpen

Ayrıca, bu işlemi post kontrolü ile yapsan daha kolay olur ama resimden göremiyorum form metodun post mu değil mi diye. Örneği şöyle:


PHP:
if(isset($_POST['insert_islemi'])) { //save butonuna basılmışsa aşağıdakileri çalıştır
    if($_GET['insert'] == 'ok') {
        $successMsg="Başarılı";
        echo "<font color='green'><h5>".$successMsg."</h5></font>";
    } elseif ($_GET['insert'] == 'no') {
        $errorMsg="Hatalı";
        echo "<font color='red'><h5>".$errorMsg."</h5></font>";
    }
}
 
Son düzenleme:
PHP:
if($_GET['insert'] == 'ok') {
 $successMsg="Başarılı";
 echo "<font color='green'><h5>".$successMsg."</h5></font>";
} elseif ($_GET['insert'] == 'no') {
 $successMsg="Hatalı";
 echo "<font color='red'><h5>".$errorMsg."</h5></font>";
} elseif (empty($_GET)) {

}

Böyle dene bakalım çalışıyor olması lazım. @Arsen Lüpen

Ayrıca, bu işlemi post kontrolü ile yapsan daha kolay olur ama resimden göremiyorum form metodun post mu değil mi diye. Örneği şöyle:

PHP:
if(isset($_POST['insert_islemi'])) { //save butonuna basılmışsa aşağıdakileri çalıştır.
 if($_GET['insert'] == 'ok') {
 $successMsg="Başarılı";
 echo "<font color='green'><h5>".$successMsg."</h5></font>";
 } elseif ($_GET['insert'] == 'no') {
 $errorMsg="Hatalı";
 echo "<font color='red'><h5>".$errorMsg."</h5></font>";
 }
}

Yok maalesef olmadı. Üsteki ile hatayı almaya devam ediyorum. Alttaki ile ise hata almıyorum ama mesaj gözükmüyor. Acaba HTML'den kaynaklı bir hata mı diye düşünyorum ama. Empty veya isset demeden çalıştırınca hata alıyorum yine ama özellikleri girip save deyince mesaj gözüküyor.
 
Method post. Kodları gönderdim daha rahat olur.
 

Dosya Ekleri

  • Ekran Görüntüsü (29).png
    Ekran Görüntüsü (29).png
    174,2 KB · Görüntüleme: 44
  • Ekran Görüntüsü (30).png
    Ekran Görüntüsü (30).png
    263,6 KB · Görüntüleme: 36
PHP:
if(@$_GET['insert'] == 'ok') {
    $successMsg="Başarılı";
    echo "<font color='green'><h5>".$successMsg."</h5></font>";
} elseif (@$_GET['insert'] == 'no') {
    $errorMsg="Hatalı";
    echo "<font color='red'><h5>".$errorMsg."</h5></font>";
} else {
    echo '';
}

Böyle dener misin?

Ayrıca butondaki name'in yanındaki tırnaklar yok.
 
Çözüm
PHP:
if(@$_GET['insert'] == 'ok') {
 $successMsg="Başarılı";
 echo "<font color='green'><h5>".$successMsg."</h5></font>";
} elseif (@$_GET['insert'] == 'no') {
 $errorMsg="Hatalı";
 echo "<font color='red'><h5>".$errorMsg."</h5></font>";
} else {
 echo '';
}

Böyle dener misin?

Ayrıca butondaki Name'in yanındaki tırnaklar yok.

Olduuu. Çok teşekkür ederim. Bir de sizden bir ricam böyle yapmamızın sebebi ne acaba anlatır mısınız?
 
Olduuu. Çok teşekkür ederim. Bir de sizden bir ricam böyle yapmamızın sebebi ne acaba anlatır mısınız?
$_GET ve benzeri parametrelerin başına gelen @ işareti olası hataları gizler. Sen POST edilmemişken oluşan hatayı gizlemiş oldun böylelikle.
 

Yeni konular

Geri
Yukarı