Autor Beitrag
Csharp-programmierer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 696
Erhaltene Danke: 10

Windows 8.1
C# (VS 2013)
BeitragVerfasst: Mo 19.09.16 16:02 
Hallo Community,
nachdem ich nachgedacht habe, ist es sinnvoller, das Registrierungsformular in einer Website rein zu bauen. Ich habe auf YouTube danach gesucht und das ist dabei rausgekommen:
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:
<?php require("db.php"); ?>
<!DOCTYPE html>
<html lang="de">
  <head>
    <title>Mainlysoft Anmeldeserver</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE-edge">
    <meta name="viewport" content="width-device-width, initial-scale=1">
    <link rel="stylesheet" href="css/bootstrap.min.css>
  </head>
  <body>
    <div class="
container">
      <?
        if(
$_GET['s'] == 1) {
          echo "
<div class='alert alert-danger'>Erfolg</div>";
        }  
      
    
          <if(isset(§_POST['submit']))
          {
        
$date = time();
        
$username = $db->real_escape_string($_POST['username']);
        
$email1 = $db->real_escape_string($_POST['email1']);
        
$email2 = $db->real_escape_string($_POST['email2']);
        
$password1 = $db->real_escape_string($_POST['password1']);
        
$password2 = $db->real_escape_string($_POST['password2']);

        
$sql = $db->query("SELECT ' FROM user WHERE username = '".$username."' OR email = '"$email1.'");
        $row = $sql->fetchassoc();

        if($username == $row['username']) {
          echo "<div class='alert alert-danger'>Dieser Benutzername ist bereits vergeben.</div>";
        } else {
          $check_username = true;
        }

        if($email1 != $email2) {
          echo "<div class='alert alert-danger'>Die Emails stimmen nicht überein.</div>";
        } else {
          $check_email1 = true;
        }

        if($email1 == $row['email']) {
          echo "<div class='alert alert-danger'>Die Emails ist bereits vergeben.</div>";
        } else {
          $check_email2 = true;
        }

        if(§password1 != $password2) {
          echo "<div class='alert alert-danger'>Die Passwörter stimmen nicht überein.</div>";
        } else {
          $check_password = true;
        }

        if($check_username == true
          && $check_email1 == true && $check_email2 == true
          && $check_password == true) {
          $pass1 = hash("sha512"$pass1);
          
          $db->query("INDERT INTO users ('date', username, email, password) VALUES ('".$date."', '".$username."', '".$email1."', '".$pass1."')");

          header("?s=1");
          
        }
          }
          
      ?>
    </div>
      <form method="post">
        <div class="form-group">
          <input type="text" name="username" class="form-control" placeholder="Benutzername" required>
        </div>
        <div class="form-group">
          <div class="row">
            <div class="col-md-6">
              <input type="email" name="email1" class="form-control" placeholder="E-Mail Addresse" required>
            </div>
            <div class="col-md-6">
              <input type="email" name="email2" class="form-control" placeholder="E-Mail Addresse bestätigen" required>
            </div>
          </div>
        </div>
        <div class="form-group">
          <div class="row">
            <div class="col-md-6">
              <input type="password" name="passwort1" class="form-control" placeholder="Passwort auswählen" required>
            </div>
            <div class="col-md-6">
              <input type="password" name="passwort2" class="form-control" placeholder="Passwort bestätigen" required>
            </div>
          </div>
        </div>
        <div class="from-group">
          <button type="submit" name="submit" class="btn btn-primary">Registrieren</button>
        </div>
      </form>
    <script src="https://ajax.googlealpis.com/ajax/libs/query/1.11.3/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>

  </body>
</html>


Soo. Nun habe ich aber das Problem, dass am Anfang der PHP Datei ein Verweis auf eine andere PHP Datei ausgeführt wird. Aber wie die andere Datei aussieht, wird im Video leider Gottes nicht gezeigt. Wie muss diese Datei aussehen?

_________________
"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
Chefentwickler
Beiträge: 20313
Erhaltene Danke: 2102

Win 10
C# (VS 2017)
BeitragVerfasst: Mo 19.09.16 19:05 
Schau doch mal scharf nach, welche Variable in dem Code benutzt aber nirgendwo vorher zugewiesen wird. Dann weißt Du, was in der Datei gemacht werden muss ;)

Generell würde ich den Code mal als ersten Schritt sehen, wie man so etwas machen kann. Sonderlich hohe Qualität scheint der mir aber nicht zu haben (alleine, dass HTML und PHP gemischt sind, finde ich äußerst unschön). Da solltest Du noch dran arbeiten, bevor Du das produktiv einsetzt. Von den Tippfehlern mal abgesehen ;)

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
hydemarie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 407
Erhaltene Danke: 50



BeitragVerfasst: Mo 19.09.16 19:34 
Nach Zeile 9 sollte der Browser nichts mehr rendern.
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 19.09.16 20:15 
Also es müssen ja Servername, Passwort, Username und Datenbankname mitgegeben werden. Aber ich weiß nicht, wie man die PHP DATEI so schreibt, dass die dynamisch miteinander laufen :(

_________________
"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
Chefentwickler
Beiträge: 20313
Erhaltene Danke: 2102

Win 10
C# (VS 2017)
BeitragVerfasst: Mo 19.09.16 20:29 
Wenn ich nach Suche bei Google PHP REQUIRE suche, kommt als erster Hit das hier. Da steht, dass das bis auf der Verhalten im Fehlerfall dasselbe tut wie include. Und da gibt es Beispiele. So schwer ist das nicht zu finden ...

_________________
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: Di 20.09.16 18:30 
Ah okay. Ich habe jetzt HTML und PHP getrennt. Aber leider gibt es immernoch Fehler.

ausblenden 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:
<?php
  $host = "localhost";
  $usermame = "web26282455";  
  $password = "";
  $database = "usr_web26282455_1";

  $conn = new mysqli_connect($Server$Username,$Password,$Database);
  if($conn )
{
    $username = $_POST['username'];
    $geburtsdatum = $_POST['geburtsdatum'];
    $vorname = $_POST['vorname'];
    $nachname = $_POST['lastname'];
    $email = $_POST['email_one'];
    $safequestion = $_POST['safequestion'];
    $question_answer = $_POST['question_answer'];
    $password = $_POST['passwort1'];
               echo '.$username.';


    $sql_query = "INSERT INTO MsUser (`Username`, `Geburtsdatum`, `Vorname`, `Nachname`, `Email`, `Sicherheitsfrage`, `FrageAntwort`, `Passwort`)
            VALUES('
$username', '$geburtsdatum', '$vorname', '$nachname', '$email', '$safequestion', '$safequestion_answer', '$password');
    if (
$conn->query($sql) === TRUE) {
      echo "
New record created successfully";
  } else {
      echo "
Error HERE: " . $sql . "<br>" . $conn->error;
  } else
{
    echo "
Access danied";
  }


Ich rufe die Datei über <form action="..."> auf. Als Fehler kommt dann:
Parse error: syntax error, unexpected 'New' (T_NEW) in /var/www/web26282455/html/Mainlysoft/registration.php on line 24

Woran liegt das?

PS: auf dem Server ist der Fehler bei VALUES('.....');

_________________
"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
Chefentwickler
Beiträge: 20313
Erhaltene Danke: 2102

Win 10
C# (VS 2017)
BeitragVerfasst: Di 20.09.16 18:39 
Selbst durch die Farbgebung im Forum wird doch schon deutlich, dass Du den String mit der SQL-Anweisung nicht geschlossen hast ... Ein bisschen mehr Eigeninitiative, bitte. :mahn:

Ach ja: xkcd.com/327/

_________________
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: Di 20.09.16 19:57 
Ah okay :D
Nun gibt es einen sehr komischen Fehler. Anscheindend sind die Zugangsdaten falsch. Da dies nur ein Testaccount ist, und dieser nur zum Test da ist, kann ich ruhig die Daten hier veröffentlichen:
1
2

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:
<?php
  
  $servername = "localhost";
  
  $usermame = "web26282455";  
  
  $password = "feuerwehr01";
  
  $database = "usr_web26282455_1";

  

  $sql_query = mysqli_connect($servername$username,$password,$database);

  if($sql_query)
{
        
    $username = $_POST['username'];
  
    $geburtsdatum = $_POST['geburtsdatum'];
  
    $vorname = $_POST['vorname'];
  
    $nachname = $_POST['lastname'];
  
    $email = $_POST['email_one'];
    
    $safequestion = $_POST['safequestion'];
  
    $question_answer = $_POST['question_answer'];
  
    $password = $_POST['passwort1'];

    

    $sql_queryy = "INSERT INTO MsUser (`Username`, `Geburtsdatum`, `Vorname`, `Nachname`, `Email`, `Sicherheitsfrage`, `FrageAntwort`, `Passwort`)
  
              VALUES('
$username', '$geburtsdatum', '$vorname', '$nachname', '$email', '$safequestion', '$safequestion_answer', '$password')";
    

    if ($sql_query->query($sql) === TRUE) {
      
      echo "New record created successfully";
  
  } else {
      
      echo "Error HERE: " . $sql_query . "<br>" . $conn->error;
  
    } 
  }
  else 
{
    
    echo "Access danied";
  
  }


?>


Aber dann kommt dieser Fehler:
Warning: mysqli_connect(): (HY000/1045): Access denied for user ''@'localhost' (using password: YES) in /var/www/web26282455/html/Mainlysoft/registration.php on line 13
Access danied

Wie kann das sein?
Einloggen, um Attachments anzusehen!
_________________
"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
Chefentwickler
Beiträge: 20313
Erhaltene Danke: 2102

Win 10
C# (VS 2017)
BeitragVerfasst: Di 20.09.16 20:06 
$usermame = "web26282455"; Langsam habe ich keine Lust mehr :?

_________________
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: Di 20.09.16 20:12 
Tut mir echt leid, Christian. Aber ich dachte man deklariert in PHP auch Variablen so, wie in C#. Ich dachte eigentlich die Rechschreibung ist egal :(

_________________
"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
Chefentwickler
Beiträge: 20313
Erhaltene Danke: 2102

Win 10
C# (VS 2017)
BeitragVerfasst: Di 20.09.16 20:14 
Wenn Du die Variable als $usermame deklarierst und als $username benutzt, kann das wohl kaum egal sein.

_________________
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: Di 20.09.16 20:17 
Okay. Da hast du wohl recht :oops: Man ist das jetzt peinlich

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

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: Mi 21.09.16 00:40 
Das ist der Punkt, der mich bei PHP am meisten nervt: Man ist nicht gezwungen eine Variable zu deklarieren.
Dazu kommt noch die schwache Typisierung.

Ich persönlich würde eine php-Datei mit folgenden Methoden schreiben:

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:
function CreateConnection() {
  
  $servername = "localhost";
  $username = "username";
  $password = "password";
  $dbname = "myDB";
  
  $connection = new mysqli($servername$username$password$dbname);
  
  if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }
  
  return $connection;
}

function CreateUser($email$username$password) {
  
  $passwordHash = password_hash($password, PASSWORD_DEFAULT);
  
  $connection = CreateConnection();
  
  $statement = $conn->prepare("INSERT INTO Users (Email, Username, PasswordHash) VALUES (?, ?, ?)");
  $statement->bind_param("sss"$email$username$passwordHash);
  
  $statement->execute();
  
  $statement->close();
  $connection->close();
}

function ExistsEmail($email) {
    
  $connection = CreateConnection();
  
  $statement = $conn->prepare("SELECT COUNT(id) FROM Users WHERE Email = ? GROUP BY id");
  $statement->bind_param("s"$email);
  $statement->execute();
  
  $statement->bind_result($count);
  $statement->fetch();
  
  $statement->close();
  $connection->close();
  
  return $count > 0;
}

function ValidateLoginData($email$password) {
    
  $passwordHash = password_hash($password, PASSWORD_DEFAULT);
  
  $connection = CreateConnection();
  
  $statement = $conn->prepare("SELECT COUNT(id) FROM Users WHERE Email = ? AND PasswordHash = ? GROUP BY id");
  $statement->bind_param("ss"$email$passwordHash);
  $statement->execute();
  
  $statement->bind_result($count);
  $statement->fetch();
  
  $statement->close();
  $connection->close();
  
  return $count > 0;
}


Ich bin bei Weitem kein PHP-Profi und kann das nicht testen, also verzeiht mir bitte eventuelle Fehler :D
Ich korrigiere sie aber gerne, wenn mich wer darauf aufmerksam macht.
Was ich nicht eingebaut habe: Wenn irgendwo was auf die Nase fällt, müssen Statement und Connection geschlossen werden.


Damit kannst Du dann prüfen ob es die Email schon gibt und wenn nicht, einen neuen User erstellen.
Und für den Login kannst Du damit prüfen ob email und passwort korrekt sind.

Sollte so ungefähr reichen.
Wenn der User sich mit Email oder Username einloggen können soll, musst Du das eben entsprechend beachten.


Wenn es um sicherheitsrelevante Daten geht, würde ich sogar noch mit einbauen, dass in der Datenbank hinterlegt wird, wann sich der User eingeloggt hat und dieses Datum bei Aktivitäten regelmäßig aktualisiert wird. Tut der User lang genug nix, dann ist die letzte Aktualisierung irgendwann so lange her, dass er automatisch ausgeloggt wird.


Die Prüfung, ob das Passwort und Username korrekt widerholt wurde, würde ich übrigens via JavaScript machen. So kannst Du das dem User noch während er schreibt mitteilen ohne einen Request zum Server schicken zu müssen. Geht einfach schneller und angenehmer beim Benutzen, finde ich.
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: Fr 23.09.16 17:41 
Hallo Palladin,
dein Code soll genau das machen, was ich gerade möchte. Kannst du mir noch bitte kurz erkären, wie ich die einzelnen functions aufrufe?

_________________
"Wer keinen Sinn im Leben sieht, ist nicht nur unglücklich, sondern kaum lebensfähig" - Albert Einstein
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2229
Erhaltene Danke: 415

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Fr 23.09.16 21:11 
Nicht viel anders als in anderen Sprachen.

ausblenden PHP-Quelltext
1:
2:
3:
4:
function ValidateLoginData($email$password) {
...
return $count > 0# ist ein bool'scher Wert
}

Würde in C# so aussehen:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
bool ValidateLoginData(string email, string password)
{
    ...
    return count > 0;
}


Wie man es aufruft, sollte klar sein.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
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: So 02.10.16 21:19 
Soooo. Da ich die Abfrage, ob die Passwörter und die Emails übereinstimmen, nun per JavaScript gemacht habe und damit den HTML-Tag <form method="post"> gelöscht habe, weiß ich nicht, wie man jetzt die Daten der PHP Datei auf dem Server übergibt. Kann man das irgendwie so machen, dass HTML wartet bis JavaScript alles ausgewertet hat und dann (wenn alles korrekt ist), eine POST request zu dem Server stellt?

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

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: So 02.10.16 22:09 
HTML wartet nicht, HTML tut garnichts, es beschreibt nur, wie die Website aussehen soll.

Wenn der Benutzer eine Eingabe tätigt, würde ich jedes mal 200ms warten.
Bei jedem erneuten Tastendruck wird das unterbrochen und es wartet wieder 200ms.
Wenn die 200ms ohne Unterbrechnung durch gelaufen sind, prüfst Du, ob alle Daten eingegeben wurde und schickst dann den POST-Request an den Server.

Und ich würde trotzdem eine form verwenden, die macht das Senden von einem POST-Request per JavaScript schlicht einfacher.
Jede einzelne Antwort zu der Frage, wie man einen POST-Request per JavaSCript sendet, baut intern eine Form auf und macht ein submit.
Du lässt dann eben den Submit-Button weg und machst das per JavaScript.
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 11:07 
So ganz verstehe ich das nicht. Ich habe das jetzt mal zusammengestellt:
ausblenden volle Höhe HTML-Dokument
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:
<form action="registration.php" method="post">
      <table>
         <tr>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="text" placeholder="Benutzername eingeben" name="username" id="username" required></input></td>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="text" placeholder="Geburtsdatum eingeben" name="geburtsdatum" id="geburtsdatum" required></input></td>
         </tr>
         <tr>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px"  type="text" placeholder="Vorname" name="vorname" id="vorname" required></input></td>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="text" placeholder="Nachname" name="lastname" id="name" reqired></input></td>
         </tr>
        <tr>
        <td> </td>
        </tr>
         <tr>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="email" id="email1" placeholder="E-Mail eingeben" name="email_one" required></input></td>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="email" id="email2" placeholder="E-Mail bestätigen" name="email_two" required></input></td>
         </tr>
         <tr>
        <td> </td>
         </tr>
        <tr>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="text" placeholder="Sicherheitsfrage" name="safequestion" id="question" required></input></td>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="text" placeholder="Antwort" name="question_answer" id="answer" reqired></input></td>
        </tr>
         <tr>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="password" id="pass1" placeholder="Passwort" name="password1" required></input></td>
          <td><input class="wsite-form-input wsite-input wsite-input-width-370px" type="password"  id="pass2" placeholder="Passwort bestätigen" name="password2" required></input></td>
        </tr>
         <tr>
          <td><font color="white"><input type="checkbox" id="cb_agb" name="agb" onclick="DisableButton()">   Ich habe die <a style="color:#ffffff;" href="">AGB's</a> gelesen</input></font></td>
         </tr>
      <tr>
          <td> </td>
      </tr>
         <tr>
          <td><a class="blue-button" onkeydown="CheckAllData()"><span>Absenden</span></a></td>
         </tr>
  </form>


ausblenden volle Höhe JavaScript-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:
function CheckAllData() {
        alert("hier");
      var pas1 = document.getElementById("pass1");
      var pas2 = document.getElementById("pass2");
      var username = document.getElementById("username");
      var sicherheitsfrage = document.getElementById("question");
      var sicherantwort = document.getElementById("answer");
      var name = document.getElementById("name");
      var vorname = document.getElementById("vorname");
      var geburtsdatum = document.getElementById("geburtsdatum");
      var em1 = document.getElementById("email1");
      var em2 = document.getElementById("email2");
      var pass_correct = false;
      var email_correct = false;

      if (pas1.value != pas2.value) {
        document.getElementById("pass_error").innerHTML = "Die eingegebenen Passwörter stimmen nicht überein";
        document.getElementById("pass_error").style.color = "#FFFFFF";
        document.getElementById("message_block").style.backgroundColor = "#FA5858";
        pass_correct = false;
      } else {
        pass_correct = true;
        document.getElementById("pass_error").innerHTML = "";
      }

      if (em1.value != em2.value) {
        document.getElementById("email_error").innerHTML = "Die eingegebenen E-Mail Adressen stimmen nicht überein";
        document.getElementById("email_error").style.color = "#FFFFFF";
        document.getElementById("message_block").style.backgroundColor = "#FA5858";
        email_correct = false;
      } else {
        email_correct = true;
        document.getElementById("email_error").innerHTML = "";
      }
      if (pass_correct == true && email_correct == true) {
        if(pas1.value.length >= 6) {
          if(pas1.value != "" && pas2.value != "" && username.value != "" && sicherheitsfrage.value != "" && sicherantwort.value != "" && name.value != "" && vorname.value != "" && geburtsdatum.value != "" 

&& em1.value != "" && em2.value != "") {
            document.getElementById("pass_error").innerHTML = "";
            document.getElementById("best_msg").innerHTML = "Alle Daten sind korrekt. Es wird nun die Verbindung zu den Mainlysoft SQL-Servern hergestellt.";
            document.getElementById("email_error").innerHTML = "";
            document.getElementById("best_msg").style.color = "#FFFFFF";
            document.getElementById("message_block").style.backgroundColor = "#A9F5BC";
          } else {
            document.getElementById("pass_error").innerHTML = "Bitte füllen Sie alle Eingabefelder aus.";
            document.getElementById("message_block").style.backgroundColor = "#FA5858";
            document.getElementById("email_error").innerHTML = "";
          }
        } else {
          document.getElementById("pass_error").innerHTML = "Das Passwort muss mindestens 6 Zeichen lang sein.";
          document.getElementById("pass_error").style.color = "#FFFFFF";
          document.getElementById("message_block").style.backgroundColor = "#FA5858";
        }
      }


Aber mit dem Timer verstehe ich das nicht :(

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



BeitragVerfasst: Mo 03.10.16 11:14 
Was genau verstehst du nicht?

(Übrigens: Typo. "reqired". ;))
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 11:29 
Vielen Dank ;)

Ich habe ja jetzt alle Elemente in die Form gepackt und es wird weiter der JavaScript Code ausgeführt. Also soll der PC nach jedem Tastendruck (alle Textboxen) 200ms warten? Und dann soll er das überprüfen? Wenn ja, wo muss ich dann den Timer positionieren?

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