Frage von KillermasterxD, 42

Wörter verbieten mit php, weiß jemand wie man den Code verändern kann das es funktioniert?

if(isset($_GET['register'])) { $error = false; $email = $_POST['email']; $name = $_POST['name']; $passwort = $_POST['passwort']; $passwort2 = $_POST['passwort2'];

mysql_connect("localhost","","");

mysql_select_db("zocker-ka"); $verbot = ("SELECT verbot FROM verboten WHERE verbot = :email"); $verboten1 = strpos($email, $verbot); if($verboten1 !== false){ die('Diese E-Mail ist nicht erlaubt'); } else{

Antwort
von tDoni, 26
 ("SELECT verbot FROM verboten WHERE verbot = :email");

Bin mir gerade nicht sicher, ob der Doppelpunkt da richtig ist.

Ansonsten hast du den wahrscheinlich wichtigsten Punkt einfach vergessen!

  • Warum baust du eine Verbindung zur DB auf?
  • Warum wählst du eine Tabelle auf?
  • Und wofür stellst du die select-Abfrage auf?

Kleiner Tipp, lass dir deine Variable verboten1 nochmal mit var_dump ausgeben. Vielleicht fällt dir dann auf, was ich meine.

Außerdem ist der Name "verboten1" nicht wirklich aussagekräftig. Was verbirgt sich dahinter? Da könntest du auch etwas aussagekräftigeres verwenden.

Antwort
von LeBonyt, 30

Darf ich mal fragen, ob Du die Grundlagen der PHP/MySQL Abfrage beherrscht?

$verbot = ("SELECT verbot FROM verboten WHERE verbot = :email");

Dieser Codeabschnitt macht für mich erstmal keinen Sinn.

Kommentar von KillermasterxD ,

Sry habe MySQL_querry vergessen und das where macht kaum Sinn das habe ich auch rausgenommen

Kommentar von LeBonyt ,

Alles klar... Ich musste das leider fragen, denn leider gibt es Leute die einfach Copy und Paste machen, ohne zu wissen was sie da machen. Nochmals sorry..

Kommentar von KillermasterxD ,

Kein problem kenne das auch das das manche Leute machen und das Problem wurde gelöst es hat while gefehlt

Antwort
von KillermasterxD, 17

Hier der neue Code:
http://pastebin.com/qTRX4B2z
Die Fehlermeldung ist:

Warning: strpos() [function.strpos]: needle is not a string or an integer in /users/zocker-ka/www/login/

Kommentar von RakonDark ,
das ergebnis eines querys ist nicht das was du erwartest .
$verbot = mysql_query("SELECT verbot FROM verboten");


while($row = mysql_fetch_assoc($verbot) {

if(strpos($emai, $row['verboten1'])!==false) {

    die('Diese E-Mail ist nicht erlaubt');

  }
}



Kommentar von KillermasterxD ,

OK danke

Antwort
von petschkoo, 2

Bitte keine mysql_* funktionen nutzen, diese sind veraltet und wurden entfernt (PHP 7+).

http://php.net/mysql_connect

Antwort
von tDoni, 27

Die Formatierung ist wirklich grausam hier. Das wird sich keiner freiwillig antun. Pack den Code zum Beispiel auf http://pastebin.com/. Dann kann man das wenigstens Lesen. 

Und dann wäre als Tipp noch die "MySQL Improved Extension" zu nennen. http://php.net/manual/de/book.mysqli.php

Kommentar von KillermasterxD ,

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten