Autor Beitrag
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Mo 03.10.16 12:32 
Musst du doch wissen, ob er das soll. Wenn ja: setTimeout() oben in die Funktion einfügen und dabei eine Variable setzen, die jedes Mal geprüft wird, um nicht jedes Mal einen neuen Timer zu starten. :)
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 03.10.16 12:46 
ausblenden JavaScript-Quelltext
1:
2:
3:
function CheckDataForTime() {
      variable = setTimeout(CheckAllData(), 200));
    }


Das sind ja jetzt 200ms und die Funktion CheckAllData wird aufgerufen. Dabei wird auch eine Variable (Boolean?) gesetzt. Muss ich dann jetzt jedes Eingabefeld mit dem TextChanged-Event und der CheckDataFortime() Funktion verknüpfen?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 03.10.16 13:14 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 03.10.16 13:54 
Upps. Naja ich habe jetzt einen Button zum Überprüfen und einen zum Absenden. Wenn ich die Daten an den Server schicke, bekomme ich folgende Fehlermeldung: Warning: mysqli_fetch_row() expects parameter 1 to be mysqli_result, boolean given in /var/www/web23442894/html/Mainlysoft/InsertData.php on line 107
Username and Email exists

Das ist der verkürzte PHP Code:
ausblenden volle Höhe PHP-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
if($sql_query)

    {
  

      $username = $_POST['username'];
  
  

      $geburtsdatum = $_POST['geburtsdatum'];
  


      $vorname = $_POST['vorname'];
  
  

      $nachname = $_POST['lastname'];
  
  

      $chem1 = $_POST['email_one'];
  

      $chem2 = $_POST['email_two'];  


      $safequestion = $_POST['safequestion'];
  
  

      $question_answer = $_POST['question_answer'];
  


      $chpass1 = $_POST['password1'];

  
  
      $chpass2 = $_POST['password2'];

  

      if($chpass1 === $chpass2
      {  
        $password = true;
  
      } 
      else 
      {
      
        echo "<div class='alert alert-danger'>Die von Ihnen eingegebenen Passwörter 

stimmen nicht überein.</div>"
;

      }

    

      if($chem1 === $chem2)
      {
    
        $em = true;
    
      } 
      else 
      {
    
        echo "<div class='alert alert-danger'>Die von Ihnen eingegebenen E-Mails stimmen 

nicht überein.</div>"
;
    
      }

    

      if($password == true && $em == true) 
      {
  
        $search = mysqli_query($sql_query," SELECT `username`,`email` FROM `Users` FROM 

WHERE `username`='
$username' AND `email`='$email'");

        $row = mysqli_fetch_row($search);

        if($row[0]==$username ||$row[1]==$email)

        {
          
echo "Username and Email exists ";
      
  }

        else

        {

  
  
        $mysqli = mysqli_query($sql_query,"INSERT INTO Users (`email`, `username`, 

`password`, `sicherheitsfrage`, `antwort`, `name`, `vorname`, `acc_bestätigt`, `geburtsdatum`)
 
                      VALUES ('
$em1', 

'
$username', '$chpass1', '$safequestion', '$question_answer', '$nachname', '$vorname', 'false', 

'
$geburtsdatum')");



  
          if ($mysqli)
          {
        
    echo "New record created successfully";
  

  
        }
          else
          {
      
    
  
          echo "Error HERE: " . $sql_query . "<br>" . $conn->error;
  
  
        }

        }
      }

  
    } 
    else 
    {
  
      echo "<div class='alert alert-danger'>Die Daten konnten nicht in die Datenbank eingetragen 

werden.</div>"
;
    
    }

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Mo 03.10.16 13:57 
Prima, dass du den Code so verkürzt, dass es uns unmöglich ist zu wissen, was in Zeile 107 steht.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 03.10.16 14:04 
Upps.
$row = mysqli_fetch_row($search); Ist der Code, der in der Zeile steht

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Mo 03.10.16 14:12 
Dann hat $search kein Ergebnis zurückgegeben. Das prüfst du ja auch nicht.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 03.10.16 14:29 
Hallo,

Du hast in Deinem SQL-Statement zweimal "FROM" drin, da stimmt was nicht. Du solltest Dir außerdem ganz dringend überlegen, was passiert, wenn jemand einen Benutzernamen mit Hochkomma eingibt! (Stichwort: SQL Injection) Oder, wie bereits woanders gepostet, als Comic: xkcd.com/327/ mit Erklärung www.explainxkcd.com/.../Little_Bobby_Tables

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 03.10.16 14:29 
ausblenden SQL-Anweisung
1:
SELECT `username`,`email` FROM `Users` FROM WHERE `username`='$username' AND `email`='$email'					


Die Probleme in diesem Thread beruhen hauptsächlich auf irgendwas zwischen Rechtschreibschwäche und Schlampigkeit :cry: Gibt es für PHP keine IDE die sowas wie Syntax- und oder Rechtschreibprüfung beinhaltet (am besten auch für embedded SQL) ?
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Mo 03.10.16 14:33 
Doch, PhpStorm zum Beispiel. Aber ich kann nicht empfehlen, ein IDE als Ersatz für wesentliches Codeverständnis zu benutzen. Das macht eher neue Probleme als sie zu lösen.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 03.10.16 14:54 
@Ralf Jansen
FROM WHERE... Ich habe aus Verzweiflung irgendjemanden auf Instagram angeschrieben, der PHP kann. Von Ihm habe ich auch diesen Code. Also muss das FROM WHERE durch WHERE geändert werden?

@hydemarie
Ja. Die Datenbank ist im Moment noch leer. Ich werde mich da jetzt noch einmal ranklotzen.

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Mo 03.10.16 14:58 
Instagram, das bekannte soziale Netzwerk für Technikaffine. Hinterher kommt sowas dabei raus. "FROM WHERE" ist natürlich Unsinn.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 03.10.16 15:01 
Das habe ich jetzt geändert. Jetzt kommt nur noch die Meldung, dass Username und Email bereits existieren. Wie kann ich mir die row-Variable vorstellen? Hängen die Zahlen in den eckigen Klammern von der Tabellenstruktur ab?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Mo 03.10.16 15:13 
Ja. Zum Verständnis wäre mysqli_fetch_assoc() deshalb vermutlich besser geeignet.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 03.10.16 16:10 
Naja er meinte mit row sei besser. Ich habe nun auch die Werte in den eckigen Klammer geändert.

1

ausblenden volle Höhe PHP-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
$search = mysqli_query($sql_query," SELECT `username`,`email` FROM `Users` WHERE `username`='$username' AND `email`='$email'");

        $row = mysqli_fetch_row($search);

        if($row[3]==$username ||$row[2]==$email)

        {
          
echo "Username and Email exists ";
      
  }

        else

        {

  
  
        $mysqli = mysqli_query($sql_query,"INSERT INTO Users (`email`, `username`, `password`, `sicherheitsfrage`, `antwort`, `name`, `vorname`, `acc_bestätigt`, `geburtsdatum`)
 
                      VALUES ('
$chem1', '$username', '$chpass1', '$safequestion', '$question_answer', '$nachname', '$vorname', 'false', '$geburtsdatum')");



  
          if ($mysqli)
          {
        
    echo "New record created successfully";
  

  
        }
          else
          {
      
    
  
          echo "Error HERE: " . $sql_query . "<br>" . $conn->error;
  
  
        }

        }
Einloggen, um Attachments anzusehen!
_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4700
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 03.10.16 18:38 
Aus der Doku zu mysqli_fetch_row
Zitat:
Fetches one row of data from the result set and returns it as an enumerated array, where each column is stored in an array offset starting from 0 (zero). Each subsequent call to this function will return the next row within the result set, or NULL if there are no more rows.


Zitat:
Naja er meinte mit row sei besser. Ich habe nun auch die Werte in den eckigen Klammer geändert.

Warum? Versuche dir Try&Error Programmierung abzugewöhnen. Ja manchmal muss man probieren aber die Doku lesen ist meist hilfreicher.

Das was mysqli_fetch_row liefert ist ein Array. Und der Index bezieht sich auf das was dein SQL abfragt. Ein Sql bezieht sich möglicherweise auf viele Tabellen. Die Reihenfolge in der Quelltabelle ist dabei völlig egal. Denn wen ich eine Ergebnis aus 3 Tabellen hole könnte ich dreimal eine erste Spalte haben. Macht also keinen Sinn. Der Index bezieht sich einfach auf die Liste der Spalten so wie du sie im SQL angegeben hast. Da PHP (laut Doku) 0-basiert arbeitet, laut Doku, ist also die erste Spalte bei dir (username) Index 0 und die zweite Spalte (email) Index 1. Es ist aber auch furchtbar egal welchen Index die Spalten haben für das was du da versuchst. Du gibst doch username und email im Sql mit. Also wenn du ein Ergebnis bekommst weißt du eh was in Username und Email steht denn das war dein Filterkriterium im Sql Statement. Du musst nur wissen ob du Ergebnis bekommst oder keins. Und wiederum, laut Doku, wenn es kein Ergebnis gibt ist das Ergebnis NULL. Du musst also nur prüfen ob row NULL ist oder nicht egal was in den Spalten steht die aus der Abfrage zurückkommen.
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 03.10.16 19:28 
So jetzt habe ich den Code mal überarbeitet

ausblenden volle Höhe PHP-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
if($sql_query)
    {
      $username = $_POST['username'];
      $geburtsdatum = $_POST['geburtsdatum'];
      $vorname = $_POST['vorname'];
      $nachname = $_POST['lastname'];
      $chem1 = $_POST['email_one'];
      $chem2 = $_POST['email_two'];  
      $safequestion = $_POST['safequestion'];
      $question_answer = $_POST['question_answer'];
      $chpass1 = $_POST['password1'];
      $chpass2 = $_POST['password2'];

      if($chpass1 === $chpass2
      {  
        $password = true;
      } 
      else 
      {
        echo "<div class='alert alert-danger'>Die von Ihnen eingegebenen Passwörter stimmen nicht überein.</div>";
      }

      if($chem1 === $chem2)
      {
        $em = true;
      } 
      else 
      {
        echo "<div class='alert alert-danger'>Die von Ihnen eingegebenen E-Mails stimmen nicht überein.</div>";
      }
      
      if($password == true && $em == true) 
      {
        $search = mysqli_query($sql_query," SELECT `username`,`email` FROM `Users` WHERE `username`='$username' AND `email`='$chem1'");
        $row = mysqli_fetch_row($search);

        if($row[0]==$username || $row[1]==$chem1)
        {
          echo "Username and Email exists ";
        }
        else
        {
        $mysqli = mysqli_query($sql_query,"INSERT INTO Users (`email`, `username`, `password`, `sicherheitsfrage`, `antwort`, `name`, `vorname`, `acc_bestätigt`, `geburtsdatum`)
                      VALUES ('
$chem1', '$username', '$chpass1', '$safequestion', '$question_answer', '$nachname', '$vorname', 'false', '$geburtsdatum')");
  
          if ($mysqli)
          {
            echo "New record created successfully";
          }
          else
          {
            echo "HALLO ERROR XD";
          }
        }
      }
    } 
    else 
    {
      echo "<div class='alert alert-danger'>Die Daten konnten nicht in die Datenbank eingetragen werden.</div>";
    }


Jetzt kommt immer der Fehler: HALLO ERROR XD

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mo 03.10.16 19:36 
Schau Dir mal an, welche Typen die Datenbankspalten haben und welche Daten Du versuchst, dort einzutragen. Wenn eine SQL-Anweisung nicht funktioniert, kannst Du auch einfach mal versuchen, sie in PhpMyAdmin direkt abzusetzen, das Ergebnis ist dann meist recht informativ.

Was Trial & Error angeht, kann ich mich Ralf nur anschließen. Genauer gesagt neige ich gerade dazu, diesen Thread zu schließen, wenn Du nicht sehr bald zeigst, dass Du ernsthaft versuchst, Dir Grundlagen anzueignen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 03.10.16 20:38 
Okay, also ich habe jetzt bemerkt, dass mein "boolean" in der Datenbank letzendlich nur eine Zahl war. Jetzt habe ich alle Daten außer ID in dem Datentyp varchar. Auch den acc_bestätigt habe ich jetzt geändert.

sql

ausblenden volle Höhe PHP-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
if($sql_query)
    {
      $username = $_POST['username'];
      $geburtsdatum = $_POST['geburtsdatum'];
      $vorname = $_POST['vorname'];
      $nachname = $_POST['lastname'];
      $chem1 = $_POST['email_one'];
      $chem2 = $_POST['email_two'];  
      $safequestion = $_POST['safequestion'];
      $question_answer = $_POST['question_answer'];
      $chpass1 = $_POST['password1'];
      $chpass2 = $_POST['password2'];

      if($chpass1 === $chpass2
      {  
        $password = true;
      } 
      else 
      {
        echo "<div class='alert alert-danger'>Die von Ihnen eingegebenen Passwörter stimmen nicht überein.</div>";
      }

      if($chem1 === $chem2)
      {
        $em = true;
      } 
      else 
      {
        echo "<div class='alert alert-danger'>Die von Ihnen eingegebenen E-Mails stimmen nicht überein.</div>";
      }
      
      if($password == true && $em == true) 
      {
        $search = mysqli_query($sql_query," SELECT `username`,`email` FROM `Users` WHERE `username`='$username' AND `email`='$chem1'");
        $row = mysqli_fetch_row($search);

        if($row[0]==$username || $row[1]==$chem1)
        {
          echo "Username and Email exists ";
        }
        else
        {
          $b="false";
          $mysqli = mysqli_query($sql_query,"INSERT INTO Users (`email`, `username`, `password`, `sicherheitsfrage`, `antwort`, `name`, `vorname`, `accbestatigt`, `geburtsdatum`)
                      VALUES ('
$chem1', '$username', '$chpass1', '$safequestion', '$question_answer', '$nachname', '$vorname', '$b', '$geburtsdatum')");
  
          if ($mysqli)
          {
            echo "New record created successfully";
          }
          else
          {
            echo "HALLO ERROR XD";
          }
        }
      }
    } 
    else 
    {
      echo "<div class='alert alert-danger'>Die Daten konnten nicht in die Datenbank eingetragen werden.</div>";
    }


Nun habe ich den Wert false per Variable in die Datenbank gepackt, aber es funktioniert immer noch nicht. Ich weiß langsam nicht mehr, was da noch falsch sein kann.


PS: Der Fehler ist jetzt weg. Da war t bei accbestatig. Nun funktioniert es :oops: :oops: :autsch:
Einloggen, um Attachments anzusehen!
_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Csharp-programmierer Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Di 04.10.16 11:02 
Soo. Jetzt habe ich mich nochmal über SQL Injections informiert. Vielen Dank, dass ihr mich darauf aufmerksam gemacht habt. Ich habe jetzt versucht, diesen Code noch ein wenig sicherer zu machen (z.B. gegen SQL Injections und bei einem Fehler soll die Verbindung abgebrochen werden).

ausblenden volle Höhe PHP-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
if($sql_query)
    {
      $username = mysql_real_escape_string($_POST['username']);
      $geburtsdatum = mysql_real_escape_string($_POST['geburtsdatum']);
      $vorname = mysql_real_escape_string($_POST['vorname']);
      $nachname = mysql_real_escape_string($_POST['lastname']);
      $chem1 = mysql_real_escape_string($_POST['email_one']);
      $chem2 = mysql_real_escape_string($_POST['email_two']);  
      $safequestion = mysql_real_escape_string($_POST['safequestion']);
      $question_answer = mysql_real_escape_string($_POST['question_answer']);
      $chpass1 = mysql_real_escape_string($_POST['password1']);
      $chpass2 = mysql_real_escape_string($_POST['password2']);

      if($username != "" && $geburtsdatum != "" && $vorname != "" && $chem1 != "" && $chem2 != "" && $safequestion != "" && $question_answer != "" && chpass1 != "" && $chpass2 != "")
      {
        if($chpass1 === $chpass2
        {  
          $password = true;
        } 
        else 
        {
          echo "<div class='alert alert-danger'>Die von Ihnen eingegebenen Passwörter stimmen nicht überein.</div>";
        }

        if($chem1 === $chem2)
        {
          $em = true;
        } 
        else 
        {
          echo "<div class='alert alert-danger'>Die von Ihnen eingegebenen E-Mails stimmen nicht überein.</div>";
        }
      
        if($password == true && $em == true) 
        {
          $search = mysqli_query($sql_query," SELECT `username`,`email` FROM `Users` WHERE `username`='$username' AND `email`='$chem1'");
          $row = mysqli_fetch_row($search);

          if($row[1]==$chem1)
          {
            echo "Username and Email exists ";
          }
          else
          {
            $b="false";
            $mysqli = mysqli_query($sql_query,"INSERT INTO Users (`email`, `username`, `password`, `sicherheitsfrage`, `antwort`, `name`, `vorname`, `accbestatig`, `geburtsdatum`)
                      VALUES ('
$chem1', '$username', '$chpass1', '$safequestion', '$question_answer', '$nachname', '$vorname', '$b', '$geburtsdatum')");
  
            if ($mysqli)
            {
              echo "Alle Daten wurden erfolgreich in die Datenbank eingetragen.";
            }
            else
            {
              echo "Ein Fehler ist aufgetreten. Die Daten konnten nicht in die Datenbank eingetragen werden. Bitte versuchen Sie es erneut.";
            }
          }
        }
      } 
      else 
      {
        echo "Füllen Sie bitte alle Datenfelder aus.";
      }
    }
    else
    {
      die('Es konnte keine Verbindung zu dem Mainlysoft Registrationsserver hergestellt werden.');
    }



Jetzt werden ja alle potentiellen Daten, die in die Datenbank geschrieben werden, gefiltert und gefiltert in die Datenbank eingetragen, oder? Kann ich diesen Code jetzt so unbedenklich freigeben?
Die Methode mit dem mysql_real_escape_string() habe ich auf YouTube in einem Tutorial gesehen. Wenn ich diesen Code bei mir so ausführe, erscheint diese Fehlermeldung: Warning: mysql_real_escape_string(): Access denied for user ''@'localhost' (using password: NO) in /var/www/web23442894/html/Mainlysoft/InsertData.php on line 10

Aber alle Authentifizierungsdaten sind exakt die, die ich gestern auch verwendet habe.

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein