Wie verhindern, dass doppelte Benutzernamen in php/mysql

(Dies ist mein Erster Versuch mit php)

Ich habe eine sehr einfache registrieren Seite.
http://graves-incorporated.com/test_sites/member_test/register/register.php

* Ich erinnerte mich nur PHP-code nicht zeigen, bis in der Quelle, also hier ist es:

enter code here
<?php
include('connection.php');

if(isset($_POST['form'])){
    if(empty($_POST['username']) || empty($_POST['password']) || empty($_POST['conf_pass']) || empty($_POST['email'])){
        echo '<b>Please fill out all fields.</b>';

    }elseif($_POST['password'] != $_POST['conf_pass']){
        echo '<b>Your Passwords do not match.</b>';
    }else{
        $url = 'http://graves-incorporated.com/test_sites/plantation_park_2012/';
        echo '<META HTTP-EQUIV=Refresh CONTENT="2; URL='.$url.'">';
        echo '<b>Congrats, You are now Registered.</b>';
        mysql_query("INSERT INTO users VALUES(NULL, '$_POST[username]', '$_POST[password]', '$_POST[email]')");     
    }
}
?>

Möchte ich sicherstellen, dass ich nicht, um doppelte Benutzer und/oder E-Mail-Adressen in der Datenbank. Ich habe ein Unique-Key in der MySQL-Benutzername und E-Mail, das verhindert, aber der Benutzer auf die tatsächliche form, die nicht wissen, es immer noch sagt Sie "herzlichen Glückwunsch, Sie sind angemeldet" oder was auch immer es sagt... haha

Also, was kann ich hinzufügen, um den php-code (und wo im code), das dies verhindern würde?

Dank für die Unterstützung dieses wichtigen noob,
Dan Graves

  • Sie brauchen, um zu überprüfen, ob insert Abfrage fehlgeschlagen oder nicht. Und wenn es das tut - siehe die Nachricht mit mysql_error()
  • könnten Sie mir sagen, genau wie Sie, dass? php-ist buchstäblich eine Fremdsprache für mich. Ich Lerne es, so schnell ich kann, aber bin noch nicht voll greifen, haha
  • Look-up-SQL-Injection-Angriffe; Ihr code ist unsicher.
  • oh wirklich? Wie kann ich das verhindern? Ich brauche keine high-level-security für diese Website
  • Das ist sehr grundlegende Sicherheit - google und Sie ' ll finden Tonnen von tutorials.
  • Diese SQL-Injection-Angriff Zeug ist Weise über meinem Kopf. Ich bin baby-stepping mit php, ich denke nicht, dass ich das know-how zu implementieren, die Verteidigung gegen diese Angriffe
  • tizag.com/mysqlTutorial/mysql-php-sql-injection.php Hier ist ein anständiges tutorial, es ist nicht schwer, gegen zu verteidigen.
  • Ich weiß nicht, wo ich bin nehme an, fügen Sie die "mysql_real_escape_string()" in meinem php-code

InformationsquelleAutor Dan Graves | 2012-03-07
Schreibe einen Kommentar