PHP Undefined index hatası

BsAqua

Hectopat
Katılım
10 Temmuz 2020
Mesajlar
183
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
Unity üzerinden geliştirdiğim oyun için bir kayıt sistemi hazırlıyordum ancak şu hatayı alıyorum;

Notice: Undefined index: name in C:\xampp\htdocs\1243234\kayit.php on line 11

Notice
: Undefined index: password in C:\xampp\htdocs\1243234\kayit.php on line 12

Kodlarım;

Kod:
<?php

    $con = mysqli_connect("localhost", "root", "", "meforgersdbu");

    if (mysqli_connect_errno())
    {
        echo "1";
        exit();
    }

    $username = $_POST["name"];
    $password = $_POST["password"];

    $namecheckquery = "SELECT name FROM players WHERE name'" . $username . "';";


    $namecheck = mysqli_query($con, $namecheckquery) or die("2:İsim kontrolü hatası");

    if(mysqli_num_rows($namecheck) > 0)
    {
        echo "3: İsiminizi kontrol ediniz";
        exit();
    }


    $salt = "\$5\$rounds=5000\$" . "steamedhams" . $username . "\$";
    $hash = crypt($password, $salt);
    $insertuserquery = "INSERT INTO players (username, hash, salt) VALUES ('" . $username . "', '" . $hash . "', '" . $salt . "');";
    mysqli_query($con, $insertuserquery) or die("4")
   
?>
 
Kod:
$username = $_POST["name"] ?? null;
$password = $_POST["password"] ?? null;

Bu şekilde yaparsan sorun düzelecektir.

Çok teşekkürler.

Kod:
$username = $_POST["name"] ?? null;
$password = $_POST["password"] ?? null;

Bu şekilde yaparsan sorun düzelecektir.

O hata geçti ancak isim kontrolü hatası alıyorum. Rica etsem yardımcı olur musunuz?
 
Şu şekilde;
Aldığınız hata herhangi bir çıktı veriyor mu?
Oyunda kullandığım kod;
C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class RgKayit : MonoBehaviour
{
    public InputField Isim;
    public InputField Sifre;

    public Button submitButton;

    public void KayıtOl()
    {
        StartCoroutine(Register());
    }

    IEnumerator Register()
    {
        WWWForm form = new WWWForm();
        form.AddField("name", Isim.text);
        form.AddField("password", Sifre.text);
        WWW www = new WWW("http://localhost/124323448348334342/kayit.php");
        yield return www;
        if (www.text == "0")
        {
            Debug.Log("Hesap Basarıyla Olusturuldu.");
            UnityEngine.SceneManagement.SceneManager.LoadScene(1);
        }
        else
        {
            Debug.Log("Hesap olusturulamadı. Hata Kodu#" + www.text);
        }
    }
   
    public void YazılarıKontrolEt()
    {
        submitButton.interactable = (Isim.text.Length >= 8 && Sifre.text.Length >= 8);
    }
}
Aldığınız hata herhangi bir çıktı veriyor mu?
Şu an o hatayı çözdüm ancak şu hatayı alıyorum;
 

Dosya Ekleri

  • sdsdsdsdsd.JPG
    sdsdsdsdsd.JPG
    79,6 KB · Görüntüleme: 78
  • sssss.JPG
    sssss.JPG
    32,9 KB · Görüntüleme: 73
  • dddd.JPG
    dddd.JPG
    51,8 KB · Görüntüleme: 68
Hatanız PHP sorgunuzda.

SQL:
$namecheckquery = "SELECT name FROM players WHERE name=$username";

Sorgunuzu bu şekilde güncelleyin düzelecektir.

Teşekkürler
Hatanız PHP sorgunuzda.

SQL:
$namecheckquery = "SELECT name FROM players WHERE name=$username";

Sorgunuzu bu şekilde güncelleyin düzelecektir.
Şuan hala isim kontrol hatası alıyorum ne yapmamı önerirsiniz acaba?

PHP:
<?php

    $con = mysqli_connect("localhost", "root", "", "meforgersdbu");

    if (mysqli_connect_errno())
    {
        echo "1";
        exit();
    }

    $username = $_POST["name"] ?? null;
    $password = $_POST["password"] ?? null;

    $namecheckquery = "SELECT name FROM players WHERE name=$username";


    $namecheck = mysqli_query($con, $namecheckquery) or die("2:İsim kontrolü hatası");

    if(mysqli_num_rows($namecheck) > 0)
    {
        echo "3: İsiminizi kontrol ediniz";
        exit();
    }


    $salt = "\$5\$rounds=5000\$" . "steamedhams" . $username . "\$";
    $hash = crypt($password, $salt);
    $insertuserquery = "INSERT INTO players (username, hash, salt) VALUES ('" . $username . "', '" . $hash . "', '" . $salt . "');";
    mysqli_query($con, $insertuserquery) or die("4")
    
?>
 
Son düzenleme:
Dün test ettim. Sorgudan dönen satır sayısı 0'dan büyük olunca "isminizi kontrol ediniz" çıktısını verdi. Ama alttaki insert kısmını denemedim. Aldığınız hata var ise paylaşın
 
Dün test ettim. Sorgudan dönen satır sayısı 0'dan büyük olunca "isminizi kontrol ediniz" çıktısını verdi. Ama alttaki insert kısmını denemedim. Aldığınız hata var ise paylaşın

Yeni kod yazdım ancak Unity'e kendi local sunucumdan bağlantı yaptım herhangi bir hata vermemesine rağmen Free hosting üzerinden yapınca HTTP/1.1 403 Forbidden hatası alıyorum nasıl düzeltebilirim acaba?
 

Yeni konular

Geri
Yukarı