Bu durumda deyim arıyor değişken tanımsız indeks modu,

4 Cevap

alma hatası: PHP Notice: Undefined index: hattında 51 modu / web / ee_web / include / form-modal.php

line 51

switch($_GET["mode"]) {

kod bloğu içinde olduğunu:

switch($_GET["mode"]) {
    case "login":
    login_user();
    break;

    case "logout":
    session_destroy();
    print "<p>You are now logged out.</p>";

    print "<p><input type=\"submit\" id=\"closeButton\" name=\"closeButton\" value=\"Close\"  onclick=\"self.parent.tb_remove(); parent.location.reload(1);\" /></p>";
    break;

    default:
    login_user();
    //print "<p>How'd you end up here?</p>";
    break;
}

Sayfa için URL index.php? = Logout modu, ben moduna değerini geçirerek nasıl.

Bu hata iletisini gidermek verebilecek herhangi bir şekilde?

4 Cevap

Ben bunun için bir varsayılan değer vermek istiyorum:

if (!isset($_GET['mode']) $_GET['mode'] = "login";

switch($_GET["mode"]) {

    case "logout":

    session_destroy();
    print "<p>You are now logged out.</p>";

    print "<p><input type=\"submit\" id=\"closeButton\" name=\"closeButton\" value=\"Close\"  onclick=\"self.parent.tb_remove(); parent.location.reload(1);\" /></p>";
    break;

    case "login" :    
    default:

    login_user();
    //print "<p>How'd you end up here?</p>";
    break;
}

Ayrıca, yerine case 'login': ve için kod çoğaltarak default: böyle bir araya koyabilirsiniz.

Bir içine sarın isterseniz

if( isset($_GET['mode'])) { switch ... } else { print_r($_GET); }

Eğer gerçekte ne alıyorsanız görmek için.

Ben sorun görmüyorum. Ama temiz kod + sorun çekim ilgi, siz deneyebilirsiniz:

$this_mode = $_GET["mode"];
switch($this_mode) {

Url ve kod kombinasyonu ile, aklıma tek şey belki GET izin vermeyen bir çerçeve kullanıyor olmasıdır.

Ben örnek CodeIgniter varsayılan olarak devre dışı GET biliyorum.

Sayfanızın en üstünde bir var_dump(GET) yaptığını daha da söylemeliyim.