Hoşgeldin Misafir

Muncuk Han

Muncuk Han

ai ye baş kaldırmış adam
31 Ağu 2021
803 Mesaj
TIM Görevleri
1

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
merhaba php de kendimi geliştirmeye devam ediyorum php ile temel seviye kayıt ve giriş sistemi yaptım kodları burdan ala bilir editleye bilir ve kullana bilirsiniz (en alttaki notu okumayı unutmayın)


database.php

PHP:
<?php

$connection = new mysqli(
    "localhost",
    "latpostc_mod",
    "şifre",
    "latpostc_mod"
);

?>


login.php

PHP:
<?php

include("database.php");

if ($_POST) {

    $mail = $_POST["mail"];
    $password = $_POST["password"];
    
    $stmt = $connection->prepare("SELECT password FROM user WHERE mail = ?");
    $stmt->bind_param("s", $mail);
    $stmt->execute();
    
    $result = $stmt->get_result();

    if ($result->num_rows === 1) {
        $row = $result->fetch_assoc();
        $hashed_password = $row["password"];

        if (password_verify($password, $hashed_password)) {

        }
    }

    $stmt->close();
}

?>

<form method="POST" action="">
        <label>E-Posta Adresi:</label><br>
        <input type="email" name="mail" required><br><br>

        <label>Şifre:</label><br>
        <input type="password" name="password" required><br><br>

        <button type="submit">Giriş Yap</button>
</form>

register.php

PHP:
<?php

include ("database.php");

if ($_POST) {

    $name=$_POST["name"];
    $mail=$_POST["mail"];
    $password=$_POST["password"];
    $country=$_POST["country"];
   
    $stmt = $connection->prepare("INSERT INTO user (name, mail, password, country ) VALUES (?, ?, ?, ?)");
    $stmt->bind_param("ssss", $name, $mail, $password, $country);

    $stmt->execute();

    $stmt->close();
}

?>

<form method="POST">
    <label>Ad Soyad:</label><br>
    <input type="text" name="name" required><br><br>

    <label>E-posta:</label><br>
    <input type="email" name="mail" required><br><br>

    <label>Şifre:</label><br>
    <input type="password" name="password" required><br><br>

    <label>Ülke:</label><br>
    <select name="country" required>
        <option value="BO">Bolivya</option>
        <option value="BA">Bosna-Hersek</option>
        <option value="BW">Botsvana</option>
        <option value="BR">Brezilya</option>
        <option value="BN">Brunei</option>
        <option value="BG">Bulgaristan</option>
        <option value="BF">Burkina Faso</option>
        <option value="BI">Burundi</option>
        <option value="BT">Butan</option>
        <option value="TD">Çad</option>
        <option value="CZ">Çekya</option>
        <option value="CN">Çin</option>
        <option value="DK">Danimarka</option>
        <option value="DM">Dominika</option>
        <option value="DO">Dominik Cumhuriyeti</option>
        <option value="EC">Ekvador</option>
        <option value="GQ">Ekvator Ginesi</option>
        <option value="SV">El Salvador</option>
        <option value="ID">Endonezya</option>
        <option value="ER">Eritre</option>
        <option value="AM">Ermenistan</option>
        <option value="EE">Estonya</option>
        <option value="SZ">Esvatini</option>
        <option value="ET">Etiyopya</option>
        <option value="FK">Falkland Adaları</option>
        <option value="FO">Faroe Adaları</option>
        <option value="MA">Fas</option>
        <option value="FJ">Fiji</option>
        <option value="PH">Filipinler</option>
        <option value="PS">Filistin</option>
        <option value="FI">Finlandiya</option>
        <option value="FR">Fransa</option>
        <option value="GF">Fransız Guyanası</option>
        <option value="PF">Fransız Polinezyası</option>
        <option value="GA">Gabon</option>
        <option value="GM">Gambiya</option>
        <option value="GH">Gana</option>
        <option value="GN">Gine</option>
        <option value="GW">Gine-Bissau</option>
        <option value="GD">Grenada</option>
        <option value="GL">Grönland</option>
        <option value="GP">Guadeloupe</option>
        <option value="GU">Guam</option>
        <option value="GT">Guatemala</option>
        <option value="GG">Guernsey</option>
        <option value="GY">Guyana</option>
        <option value="ZA">Güney Afrika</option>
        <option value="GS">Güney Georgia ve Güney Sandwich Adaları</option>
        <option value="KR">Güney Kore</option>
        <option value="SS">Güney Sudan</option>
        <option value="GE">Gürcistan</option>
        <option value="HT">Haiti</option>
        <option value="HM">Heard Adası ve McDonald Adaları</option>
        <option value="IN">Hindistan</option>
        <option value="NL">Hollanda</option>
        <option value="HN">Honduras</option>
        <option value="HK">Hong Kong</option>
        <option value="HR">Hırvatistan</option>
        <option value="IQ">Irak</option>
        <option value="GB">İngiltere</option>
        <option value="IR">İran</option>
        <option value="IE">İrlanda</option>
        <option value="ES">İspanya</option>
        <option value="IL">İsrail</option>
        <option value="SE">İsveç</option>
        <option value="CH">İsviçre</option>
        <option value="IT">İtalya</option>
        <option value="IS">İzlanda</option>
        <option value="JM">Jamaika</option>
        <option value="JP">Japonya</option>
        <option value="JE">Jersey</option>
        <option value="KH">Kamboçya</option>
        <option value="CM">Kamerun</option>
        <option value="CA">Kanada</option>
        <option value="IC">Kanarya Adaları</option>
        <option value="CV">Kape Verde</option>
        <option value="BQ">Karayip Hollandası</option>
        <option value="QA">Katar</option>
        <option value="KY">Cayman Adaları</option>
        <option value="KZ">Kazakistan</option>
        <option value="KE">Kenya</option>
        <option value="CY">Kıbrıs Cumhuriyeti</option>
        <option value="KG">Kırgızistan</option>
        <option value="KI">Kiribati</option>
        <option value="CO">Kolombiya</option>
        <option value="KM">Komorlar</option>
        <option value="CG">Kongo - Brazzaville</option>
        <option value="CD">Kongo - Kinşasa</option>
        <option value="XK">Kosova</option>
        <option value="CR">Kosta Rika</option>
        <option value="KW">Kuveyt</option>
        <option value="KP">Kuzey Kore</option>
        <option value="MK">Kuzey Makedonya</option>
        <option value="MP">Kuzey Mariana Adaları</option>
        <option value="CU">Küba</option>
        <option value="LA">Laos</option>
        <option value="LS">Lesotho</option>
        <option value="LV">Letonya</option>
        <option value="LR">Liberya</option>
        <option value="LY">Libya</option>
        <option value="LI">Liechtenstein</option>
        <option value="LT">Litvanya</option>
        <option value="LB">Lübnan</option>
        <option value="LU">Lüksemburg</option>
        <option value="HU">Macaristan</option>
        <option value="MG">Madagaskar</option>
        <option value="MO">Makao ÇOİ</option>
        <option value="MW">Malavi</option>
        <option value="MV">Maldivler</option>
        <option value="MY">Malezya</option>
        <option value="ML">Mali</option>
        <option value="MT">Malta</option>
        <option value="IM">Man Adası</option>
        <option value="MH">Marshall Adaları</option>
        <option value="MQ">Martinik</option>
        <option value="MU">Mauritius</option>
        <option value="YT">Mayotte</option>
        <option value="MX">Meksika</option>
        <option value="FM">Mikronezya</option>
        <option value="EG">Mısır</option>
        <option value="MD">Moldova</option>
        <option value="MC">Monako</option>
        <option value="MN">Moğolistan</option>
        <option value="MS">Montserrat</option>
        <option value="ME">Karadağ</option>
        <option value="MZ">Mozambik</option>
        <option value="MM">Myanmar (Burma)</option>
        <option value="NA">Namibya</option>
        <option value="NR">Nauru</option>
        <option value="NP">Nepal</option>
        <option value="NE">Nijer</option>
        <option value="NG">Nijerya</option>
        <option value="NI">Nikaragua</option>
        <option value="NU">Niue</option>
        <option value="NF">Norfolk Adası</option>
        <option value="NO">Norveç</option>
        <option value="CF">Orta Afrika Cumhuriyeti</option>
        <option value="UZ">Özbekistan</option>
        <option value="PK">Pakistan</option>
        <option value="PW">Palau</option>
        <option value="PA">Panama</option>
        <option value="PG">Papua Yeni Gine</option>
        <option value="PY">Paraguay</option>
        <option value="PE">Peru</option>
        <option value="PN">Pitcairn Adaları</option>
        <option value="PL">Polonya</option>
        <option value="PT">Portekiz</option>
        <option value="PR">Porto Riko</option>
        <option value="RE">Réunion</option>
        <option value="RO">Romanya</option>
        <option value="RW">Ruanda</option>
        <option value="RU">Rusya</option>
        <option value="BL">Saint Barthélemy</option>
        <option value="SH">Saint Helena</option>
        <option value="KN">Saint Kitts ve Nevis</option>
        <option value="LC">Saint Lucia</option>
        <option value="MF">Saint Martin</option>
        <option value="PM">Saint Pierre ve Miquelon</option>
        <option value="VC">Saint Vincent ve Grenadinler</option>
        <option value="WS">Samoa</option>
        <option value="SM">San Marino</option>
        <option value="ST">São Tomé ve Príncipe</option>
        <option value="SN">Senegal</option>
        <option value="SC">Seyşeller</option>
        <option value="RS">Sırbistan</option>
        <option value="SL">Sierra Leone</option>
        <option value="SG">Singapur</option>
        <option value="SX">Sint Maarten</option>
        <option value="SK">Slovakya</option>
        <option value="SI">Slovenya</icon> <!-- option etiketine dikkat -->
        <option value="SI">Slovenya</option>
        <option value="SB">Solomon Adaları</option>
        <option value="SO">Somali</option>
        <option value="LK">Sri Lanka</option>
        <option value="SD">Sudan</option>
        <option value="SR">Surinam</option>
        <option value="SY">Suriye</option>
        <option value="SA">Suudi Arabistan</option>
        <option value="SJ">Svalbard ve Jan Mayen</option>
        <option value="CL">Şili</option>
        <option value="TJ">Tacikistan</option>
        <option value="TZ">Tanzanya</option>
        <option value="TH">Tayland</option>
        <option value="TW">Tayvan</option>
        <option value="TL">Timor-Leste</option>
        <option value="TG">Togo</option>
        <option value="TK">Tokelau</option>
        <option value="TO">Tonga</option>
        <option value="TT">Trinidad ve Tobago</option>
        <option value="TN">Tunus</option>
        <option value="TC">Turks ve Caicos Adaları</option>
        <option value="TV">Tuvalu</option>
        <option value="TR">Türkiye</option>
        <option value="TM">Türkmenistan</option>
        <option value="UG">Uganda</option>
        <option value="UA">Ukrayna</option>
        <option value="OM">Umman</option>
        <option value="UY">Uruguay</option>
        <option value="WF">Wallis ve Futuna</option>
        <option value="VU">Vanuatu</option>
        <option value="VA">Vatikan</option>
        <option value="VE">Venezuela</option>
        <option value="VN">Vietnam</option>
        <option value="YE">Yemen</option>
        <option value="NC">Yeni Kaledonya</option>
        <option value="NZ">Yeni Zelanda</option>
        <option value="GR">Yunanistan</option>
        <option value="ZM">Zambiya</option>
        <option value="ZW">Zimbabve</option>
    </select><br><br>

    <button type="submit">Kayıt Ol</button>
</form>

database.sq

PHP:
CREATE TABLE user (

    id          INT AUTO_INCREMENT PRIMARY KEY,

    name        VARCHAR(100) NOT NULL,

    mail        VARCHAR(100) NOT NULL UNIQUE,

    password    VARCHAR(255) NOT NULL,

    country     VARCHAR(100) NOT NULL,

    created     TIMESTAMP DEFAULT CURRENT_TIMESTAMP

);

not: bu hai ile kvkk uyumu yoktur şifreler düz metin olarak saklanılıyor kvkk ve güvenlik için şifreler hash lenmeli + olarak jwt token ya da php nin dahili çerez sisitemi eklenmeli