Zum Inhalt springen

Problem bei Datenverarbeitung eines Skriptes


Empfohlene Beiträge

Moin,

ich bin grad eingestiegen in die PHP-Programmierung und bastel mir gerade ein Login/Register -Skript.

Nun hab ich ein Problem.

Der beide SQL-Befehlszeilen gehen ganz normal auszuführen.

Nur der vergleich ob der Benutzername schon vergeben ist liefert immer das gleiche ergebnis. Egal ob es den Benutzer wirklich schon gibt, oder nicht.

2. Problem ist das er den INSERT nicht ausführt. Auch wenn der vergleich nicht funktioniert, der neue eintrag in die Tabelle sollte ausgeführt werden.

Hat jemand eine Idee ?!?

radiohead1 :)

<?php
include("mysql.php");
$reguser = $_POST["reguser"];
$regpassw1 = $_POST["regpassw1"];
$regpassw2 = $_POST["regpassw2"];

if($regpassw1 != $regpassw2)
{
echo "Password stimmt nicht überein";
}
else
{
$queryreg = "Select username from users where username like '" & $reguser & "'";
$result = mysql_query($queryreg);
if($result == $reguser)
{
echo "Benutzername schon vergeben";
}
else
{
$queryregister = "INSERT INTO users (username, password) VALUES ('" & $reguser & "', '" & $regpassw1 & "')";
$result1 = mysql_query($queryregister);
echo "Sie sind registriert";
}
}
mysql_close();
?>[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

Wandle das hier ....

$queryreg = "Select username from users where username like '" & $reguser & "'";
$result = mysql_query($queryreg);
if($result == $reguser)
{
echo "Benutzername schon vergeben";
}[/PHP]

mal in das hier um:

[PHP]
$queryreg = "Select username from users where username = $reguser";
$result = mysql_query($queryreg);
$row = mysql_fetch_assoc($result);

if ($row['username'] == $reguser )
{
echo "Benutzername schon vergeben";
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Außerdem könntest du dich mal über SQL-Injections schlau machen.

SQL-Injection ? Wikipedia

Eingaben vom Benutzer sollten nicht ungefiltert in Datenbankabfragen übernommen werden.

PHP: mysql_real_escape_string - Manual


$regpassw1 = mysql_real_escape_string($_POST["regpassw1"]);
$regpassw2 = mysql_real_escape_string($_POST["regpassw2"]);
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

wenn du deine ersten schritte erfolgreich abgeschlossen hast, würde ich dir raten, dich in PEAR (umfangreiche PHP-Klassenbibliothek) hier speziell Quickform2 (Klassen für Formulare), Auth (Klassen für Authentifizierung) und Smarty (Templateengine zur Trennung von Design und Code) einzulesen.

auch wenn die einarbeitung einiges an zeit erfordert und für einen anfänger am anfang erschlagend wirkt, ist der spätere nutzen bei der entwicklung von wirklich umfangreichen softwarelösungen enorm.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...