• 30-03-2020, 23:58:54
    #1
    Merhabalar okulda php dersi almaktayım. Malum uzaktan öğretim olunca videolardan ancak öğrenebiliyorum. Kısaca daha yolun başındayım, ödevi yapıyorum lakin böyle bir hata alıyorum nasıl düzeltebilirim?
    https://hizliresim.com/BjscRO
    <head>
    <title> Ödev5a_180102033</title>
    <head>
    <body>
    <form action="" method="post">
    E-Posta: <input type="text" name="post">
    <input type="submit" name="tamam" value="GÖNDER">
    </form>
    </body>
    </html>
    
    <?php
    $metin=$_POST["post"];
    $a=explode("@","$metin");
    echo "Kullanıcı Adı:<font color=red>$a[0]</font><br>";
    
    
    ?>
  • 31-03-2020, 00:02:02
    #2
    Sayfa açılırken "post tanımlı değil" hatası alıyorsunuz. Bir verinin gelip gelmediğini kontrol etmeden işleme alamazsınız/almamanız gerekiyor

    if(isset($_POST['post'])){
    $metin=$_POST["post"];
    $a=explode("<span class="userTag">@"</span>,"$metin");
    echo "Kullanıcı Adı:<font color=red>$a[0]</font><br>";
    }
  • 31-03-2020, 00:04:52
    #3
    TheKhan adlı üyeden alıntı: mesajı görüntüle
    Sayfa açılırken "post tanımlı değil" hatası alıyorsunuz. Bir verinin gelip gelmediğini kontrol etmeden işleme alamazsınız/almamanız gerekiyor

    if(isset($_POST['post'])){
    $metin=$_POST["post"];
    $a=explode("<span class="userTag">@"</span>,"$metin");
    echo "Kullanıcı Adı:<font color=red>$a[0]</font><br>";
    }
    Çok teşekkür ederim. Düzeldi hocam. r10+
  • 31-03-2020, 00:05:59
    #4
    Arkadaşın dediği gibi bu bir hata değil, uyarıdır aslında. Eğer olduğu gibi gizlemek istersen;
    $metin=$_POST["post"];
    satırında $_POST['post'] u @$_POST['post'] olarak değiştirebilirsin.

    Başına @ koyduğunda olası hataları, uyarıları yok sayar.
  • 31-03-2020, 00:06:38
    #5
    mertkilic0111 adlı üyeden alıntı: mesajı görüntüle
    Arkadaşın dediği gibi bu bir hata değil, uyarıdır aslında. Eğer olduğu gibi gizlemek istersen;
    $metin=$_POST["post"];
    satırında $_POST['post'] u @$_POST['post'] olarak değiştirebilirsin.

    Başına @ koyduğunda olası hataları, uyarıları yok sayar.
    Size de teşekkür ederim.
  • 31-03-2020, 09:45:59
    #6
    Php kısmında aşağıdaki gibi bir yapı kurabilirsiniz.

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    
        if (!isset($_POST['post'])) {
            throw new Exception('Gerekli olan post elemanı gönderilmedi');
        }
    
        $metin = $_POST["post"];
    
        $a = explode("@", $metin);
    
        echo "Kullanıcı Adı:<font color=red>{$a[0]}</font><br>";
    }
  • 31-03-2020, 16:30:32
    #7
    Muhtemelen cevap yazanlarda fark etmemiş. explode ederken tırnak hatası yapıyorsun. Aşağıdaki gibi olmalı
    $a = explode("<span class='userTag'>@</span>", $metin);

    NOT: Code eklentisini kullanınca hatalı sonuç çıkarıyor muhtemelen bende yazdıktan sonra farkettim arkadaşlar sildim tekrardan yazıyorum.
  • 31-03-2020, 21:52:43
    #8
    @coder63; ve @_halisoglu_; Teşekkür ederim değerli cevaplarınız için. Çözdüm, yeni öğrendiğim için acemiyiz, ufak hatalar yapıyorum. Zamanınızı çaldım hakkınızı helal edin.
  • 31-03-2020, 22:37:43
    #9
    tavsiyem kodlamada ayni isimde degiskenleri/isimleri/degerleri vs... kullanmayin . orn : method=post & name=post