|
You last visited: Today at 01:08
Advertisement
In sich selbst aktualisieren
Discussion on In sich selbst aktualisieren within the Web Development forum part of the Coders Den category.
12/13/2018, 02:06
|
#1
|
elite*gold: 95
Join Date: Nov 2009
Posts: 669
Received Thanks: 47
|
In sich selbst aktualisieren
Hallo zusammen,
bin gerade immernoch dabei PHP zu lernen und bin dank eurer Hilfe und Antworten auf meine Fragen schon echt ganz gut weitergekommen. Danke hierfür auf alle Fälle schonmal!
Jetzt aber meine nächste Frage. Ich machs am Beispiel der Registrierung eines Accounts. In der Regel schick ich ja meine HTML-form an eine neue PHP-Datei die dann die Daten verarbeitet (zb hier jetzt die Daten in eine Datenbank speichern) und dann sowas wie "Registrierung erfolgreich" anzeigt. Wenn ich das ganze aber auf die gleiche Seite haben will mach ich das wie ?
Anderes Beispiel: Ich will in einem Input was reinschreiben und wenn ich auf den Speichern-Button drücke, soll er es in der Datenbank speichern UND gleichzeitig die Seite neu laden und unter dem Inputfeld anzeigen.
Wenn meine Datei Index.php heißt, geht es dann einfach wenn ich die form einfach ganz normal wieder an die Index.php schicke oder ist es komplizierter ? Habe gerade nur am Handy Internet und kanns deswegen nur bedingt ausprobieren ...
Danke und Gruß,
Legithos
|
|
|
12/13/2018, 02:28
|
#2
|
elite*gold: 63
Join Date: Nov 2012
Posts: 2,123
Received Thanks: 500
|
Quote:
Originally Posted by Legithos
Hallo zusammen,
bin gerade immernoch dabei PHP zu lernen und bin dank eurer Hilfe und Antworten auf meine Fragen schon echt ganz gut weitergekommen. Danke hierfür auf alle Fälle schonmal!
Jetzt aber meine nächste Frage. Ich machs am Beispiel der Registrierung eines Accounts. In der Regel schick ich ja meine HTML-form an eine neue PHP-Datei die dann die Daten verarbeitet (zb hier jetzt die Daten in eine Datenbank speichern) und dann sowas wie "Registrierung erfolgreich" anzeigt. Wenn ich das ganze aber auf die gleiche Seite haben will mach ich das wie ?
Anderes Beispiel: Ich will in einem Input was reinschreiben und wenn ich auf den Speichern-Button drücke, soll er es in der Datenbank speichern UND gleichzeitig die Seite neu laden und unter dem Inputfeld anzeigen.
Wenn meine Datei Index.php heißt, geht es dann einfach wenn ich die form einfach ganz normal wieder an die Index.php schicke oder ist es komplizierter ? Habe gerade nur am Handy Internet und kanns deswegen nur bedingt ausprobieren ...
Danke und Gruß,
Legithos
|
Guten Morgen,
zu Punkt 1:
Ich hatte vor einigen Jahren mal eine Projektarbeit gemacht, in welcher ich so etwas behandelt habe. An sich funktioniert es einwandfrei ist aber nicht sonderlich schön. Habe dir hier mal den Code, hoffe du kannst damit was anfangen.
PHP Code:
<?php
session_start();
// Hier wird die Verbindung zur Datenbank aufgebaut, nicht wundern
require('php/functions.php');
$showFormular = true;
$successfull = false;
$error = false;
if( isset($_GET['register']) ) {
$username = htmlentities($_POST['username']);
$email = htmlentities($_POST['email']);
$password = htmlentities($_POST['password']);
$password2 = htmlentities($_POST['password2']);
$rank = "User";
if( !filter_var($email, FILTER_VALIDATE_EMAIL) ) {
$error_message = 'Bitte geben Sie eine gültige E-Mail-Adresse ein!<br>';
$error = true;
}
if( strlen($password) == 0 ) {
$error_message = 'Bitte geben Sie ein Passwort!<br>';
$error = true;
}
if( $password != $password2 ) {
$error_message = 'Die Passwörter müssen übereinstimmen!<br>';
$error = true;
}
if( !$error ) {
$statement = $db->prepare("SELECT * FROM user WHERE email = :email");
$result = $statement->execute(array('email' => $email));
$user = $statement->fetch();
if( $user !== false ) {
$error_message = 'Diese E-Mail-Adresse ist bereits vergeben!<br>';
$error = true;
}
}
if( !$error ) {
$statement = $db->prepare("SELECT * FROM user WHERE username = :username");
$result = $statement->execute(array('username' => $username));
$user = $statement->fetch();
if( $user !== false ) {
$error_message = 'Dieser Username ist bereits vergeben!<br>';
$error = true;
}
}
if( !$error ) {
$password_hash = password_hash($password, PASSWORD_DEFAULT);
$date = date("Y-m-d H:i:s");
$statement = $db->prepare("INSERT INTO user (username, password, email, registerdate, status) VALUES (:username, :password, :email, :registerdate, :status)");
$result = $statement->execute(array('username' => $username, 'password' => $password_hash, 'email' => $email, 'registerdate' => $date, 'status' => $rank));
if( $result ) {
$successfull = true;
$showFormular = false;
}
else {
$error_message = 'Fehler bei der Registrierung!<br>';
}
$statement = $db->prepare("SELECT * FROM user WHERE username = :username");
$result = $statement->execute(array('username' => $username));
$user = $statement->fetch();
$_SESSION['userid'] = $user['id'];
header("Location: index.php");
exit;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Projektarbeit</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="https://www.w3schools.com/w3css/3/w3.css" />
</head>
<body>
<!-- Sidebar -->
<div class="w3-sidebar w3-light-grey w3-bar-block" style="width:15%">
<h3 class="w3-bar-item">***</h3>
<?php if( !$access) { ?>
<a href="index.php" class="w3-bar-item w3-button">Startseite</a>
<a href="login.php" class="w3-bar-item w3-button">Einloggen</a>
<a href="register.php" class="w3-bar-item w3-button">Registrieren</a>
<a href="***" class="w3-bar-item w3-button">Projekttagebuch</a>
<?php } else { ?>
<a href="index.php" class="w3-bar-item w3-button">Startseite</a>
<a href="profil.php" class="w3-bar-item w3-button">Profil</a>
<?php if( strcmp($user['status'], "Admin") == 0 ) { ?>
<a href="admin.php" class="w3-bar-item w3-button">Adminpanel</a>
<?php } ?>
<a href="rank.php" class="w3-bar-item w3-button">Rangliste</a>
<a href="addquestion.php" class="w3-bar-item w3-button">Fragen hinzufügen</a>
<a href="play.php" class="w3-bar-item w3-button">Quiz Starten</a>
<a href="logout.php" class="w3-bar-item w3-button">Ausloggen</a>
<?php } ?>
</div>
<!-- Content -->
<div style="margin-left:15%">
<div class="w3-container w3-teal">
<h1>Registrieren</h1>
<p>*** von *** und ***</p>
</div>
<hr />
<div class="w3-display-middle">
<?php if( $showFormular ) { ?>
<form action = "?register=1" method = "post">
<fieldset style="border-style:none;">
<p class="w3-label w3-text-green" style="font-weight: bold; margin-bottom: 1%; margin-top: 4%;">Username</p>
<input type = "text" size = "30" maxlength = "15" name = "username" class = "w3-input w3-border" />
<p class="w3-label w3-text-green" style="font-weight: bold; margin-bottom: 1%; margin-top: 4%;">Passwort</p>
<input type = "password" size = "30" maxlength = "255" name = "password" class = "w3-input w3-border" />
<p class="w3-label w3-text-green" style="font-weight: bold; margin-bottom: 1%; margin-top: 4%;">Passwort wiederholen</p>
<input type = "password" size = "30" maxlength = "255" name = "password2" class = "w3-input w3-border" />
<p class="w3-label w3-text-green" style="font-weight: bold; margin-bottom: 1%; margin-top: 4%;">E-Mail-Addresse</p>
<input type = "email" size = "30" maxlength = "200" name = "email" class = "w3-input w3-border" />
<input class = "w3-button w3-white w3-border w3-border-red w3-round-large" style="margin-top: 5%;margin-left:25%;" value = "Registrieren" type = "submit" />
</fieldset>
</form>
</div>
<?php } if( $error ) { ?>
<p class = "w3-text-red" style="text-align: center;">Fehler beim registrieren!</p>
<p class = "w3-text-red" style="text-align: center;"><?php echo $error_message; ?></p>
<?php } if( $successfull ) { ?>
<p class = "w3-text-green" style="text-align: center;">Hallo <?php echo $username; ?>, du hast erfolgreich einen Account erstellt! Du kannst dich nun <a href = "login.php">Einloggen</a>!</p>
<?php } ?>
</div>
</body>
</html>
Zu Punkt 2:
Das funktioniert in etwa wie in Punkt 1. Prinzipiell die Form aufbauen, darin die action ausführen und dann, sofern es funktioniert hat das Zeug in die Datenbank zu speichern, einfach das Zeug aus der Datenbank holen und ausgeben lassen. Habe hierzu gerade keinen Beispielcode, da ich mir den Aufwand um die Uhrzeit ungern machen möchte. Solltest du jedoch einen Beispielcode wollen, dann melde dich einfach bei mir.
Zu Punkt 3:
Ja, das geht. Jedenfalls befasst sie Beispielcode 1 damit, bzw. dadurch wird die Registrier-Funktion aufgebaut.
Hoffe ich konnte dir ein bisschen weiterhelfen. Solltest du noch fragen haben, stehe ich dir gerne zur Seite und kann dich ggf. mit Beispielcode versorgen. Frohes coden!
|
|
|
12/13/2018, 20:03
|
#3
|
elite*gold: 0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
|
Quote:
Originally Posted by Royal*
Guten Morgen,
zu Punkt 1:
Ich hatte vor einigen Jahren mal eine Projektarbeit gemacht, in welcher ich so etwas behandelt habe. An sich funktioniert es einwandfrei ist aber nicht sonderlich schön. Habe dir hier mal den Code, hoffe du kannst damit was anfangen.
PHP Code:
<?php session_start(); // Hier wird die Verbindung zur Datenbank aufgebaut, nicht wundern require('php/functions.php'); $showFormular = true; $successfull = false; $error = false; if( isset($_GET['register']) ) { $username = htmlentities($_POST['username']); $email = htmlentities($_POST['email']); $password = htmlentities($_POST['password']); $password2 = htmlentities($_POST['password2']); $rank = "User"; if( !filter_var($email, FILTER_VALIDATE_EMAIL) ) { $error_message = 'Bitte geben Sie eine gültige E-Mail-Adresse ein!<br>'; $error = true; } if( strlen($password) == 0 ) { $error_message = 'Bitte geben Sie ein Passwort!<br>'; $error = true; } if( $password != $password2 ) { $error_message = 'Die Passwörter müssen übereinstimmen!<br>'; $error = true; } if( !$error ) { $statement = $db->prepare("SELECT * FROM user WHERE email = :email"); $result = $statement->execute(array('email' => $email)); $user = $statement->fetch(); if( $user !== false ) { $error_message = 'Diese E-Mail-Adresse ist bereits vergeben!<br>'; $error = true; } } if( !$error ) { $statement = $db->prepare("SELECT * FROM user WHERE username = :username"); $result = $statement->execute(array('username' => $username)); $user = $statement->fetch();
if( $user !== false ) { $error_message = 'Dieser Username ist bereits vergeben!<br>'; $error = true; } } if( !$error ) { $password_hash = password_hash($password, PASSWORD_DEFAULT); $date = date("Y-m-d H:i:s"); $statement = $db->prepare("INSERT INTO user (username, password, email, registerdate, status) VALUES (:username, :password, :email, :registerdate, :status)"); $result = $statement->execute(array('username' => $username, 'password' => $password_hash, 'email' => $email, 'registerdate' => $date, 'status' => $rank)); if( $result ) { $successfull = true; $showFormular = false; } else { $error_message = 'Fehler bei der Registrierung!<br>'; } $statement = $db->prepare("SELECT * FROM user WHERE username = :username"); $result = $statement->execute(array('username' => $username)); $user = $statement->fetch(); $_SESSION['userid'] = $user['id']; header("Location: index.php"); exit; } } ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" > <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>Projektarbeit</title> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="https://www.w3schools.com/w3css/3/w3.css" /> </head> <body> <!-- Sidebar --> <div class="w3-sidebar w3-light-grey w3-bar-block" style="width:15%"> <h3 class="w3-bar-item">***</h3> <?php if( !$access) { ?> <a href="index.php" class="w3-bar-item w3-button">Startseite</a> <a href="login.php" class="w3-bar-item w3-button">Einloggen</a> <a href="register.php" class="w3-bar-item w3-button">Registrieren</a> <a href="***" class="w3-bar-item w3-button">Projekttagebuch</a> <?php } else { ?> <a href="index.php" class="w3-bar-item w3-button">Startseite</a> <a href="profil.php" class="w3-bar-item w3-button">Profil</a> <?php if( strcmp($user['status'], "Admin") == 0 ) { ?> <a href="admin.php" class="w3-bar-item w3-button">Adminpanel</a> <?php } ?> <a href="rank.php" class="w3-bar-item w3-button">Rangliste</a> <a href="addquestion.php" class="w3-bar-item w3-button">Fragen hinzufügen</a> <a href="play.php" class="w3-bar-item w3-button">Quiz Starten</a> <a href="logout.php" class="w3-bar-item w3-button">Ausloggen</a> <?php } ?> </div> <!-- Content --> <div style="margin-left:15%"> <div class="w3-container w3-teal"> <h1>Registrieren</h1> <p>*** von *** und ***</p> </div> <hr /> <div class="w3-display-middle"> <?php if( $showFormular ) { ?> <form action = "?register=1" method = "post"> <fieldset style="border-style:none;"> <p class="w3-label w3-text-green" style="font-weight: bold; margin-bottom: 1%; margin-top: 4%;">Username</p> <input type = "text" size = "30" maxlength = "15" name = "username" class = "w3-input w3-border" /> <p class="w3-label w3-text-green" style="font-weight: bold; margin-bottom: 1%; margin-top: 4%;">Passwort</p> <input type = "password" size = "30" maxlength = "255" name = "password" class = "w3-input w3-border" /> <p class="w3-label w3-text-green" style="font-weight: bold; margin-bottom: 1%; margin-top: 4%;">Passwort wiederholen</p> <input type = "password" size = "30" maxlength = "255" name = "password2" class = "w3-input w3-border" /> <p class="w3-label w3-text-green" style="font-weight: bold; margin-bottom: 1%; margin-top: 4%;">E-Mail-Addresse</p> <input type = "email" size = "30" maxlength = "200" name = "email" class = "w3-input w3-border" /> <input class = "w3-button w3-white w3-border w3-border-red w3-round-large" style="margin-top: 5%;margin-left:25%;" value = "Registrieren" type = "submit" /> </fieldset> </form> </div> <?php } if( $error ) { ?> <p class = "w3-text-red" style="text-align: center;">Fehler beim registrieren!</p> <p class = "w3-text-red" style="text-align: center;"><?php echo $error_message; ?></p> <?php } if( $successfull ) { ?> <p class = "w3-text-green" style="text-align: center;">Hallo <?php echo $username; ?>, du hast erfolgreich einen Account erstellt! Du kannst dich nun <a href = "login.php">Einloggen</a>!</p> <?php } ?> </div> </body> </html>
Zu Punkt 2:
Das funktioniert in etwa wie in Punkt 1. Prinzipiell die Form aufbauen, darin die action ausführen und dann, sofern es funktioniert hat das Zeug in die Datenbank zu speichern, einfach das Zeug aus der Datenbank holen und ausgeben lassen. Habe hierzu gerade keinen Beispielcode, da ich mir den Aufwand um die Uhrzeit ungern machen möchte. Solltest du jedoch einen Beispielcode wollen, dann melde dich einfach bei mir.
Zu Punkt 3:
Ja, das geht. Jedenfalls befasst sie Beispielcode 1 damit, bzw. dadurch wird die Registrier-Funktion aufgebaut.
Hoffe ich konnte dir ein bisschen weiterhelfen. Solltest du noch fragen haben, stehe ich dir gerne zur Seite und kann dich ggf. mit Beispielcode versorgen. Frohes coden!
|
Ich schätze deine Antwort, aber ich denke das der TE was anderes meint.
Ich denke er sucht eher etwas damit die Seite nicht neugeladen werden muss, dafür kann er aber Ajax nutzen (Am einfachsten mit Jquery - tutorials gibt es in Massen).
Ajax macht genau das selbe als würdest du die Form abschicken, nur das dies im Hintergrund passiert.
|
|
|
12/13/2018, 23:18
|
#4
|
elite*gold: 63
Join Date: Nov 2012
Posts: 2,123
Received Thanks: 500
|
Quote:
Originally Posted by .ƒaℓsє.
Ich schätze deine Antwort, aber ich denke das der TE was anderes meint.
Ich denke er sucht eher etwas damit die Seite nicht neugeladen werden muss, dafür kann er aber Ajax nutzen (Am einfachsten mit Jquery - tutorials gibt es in Massen).
Ajax macht genau das selbe als würdest du die Form abschicken, nur das dies im Hintergrund passiert.
|
Oups, mein Fehler. Ich dachte da er explizit nach PHP gefragt hat, das er auch dann wirklich nur PHP verwenden möchte.
Vielen Dank für die Ergänzung, dadurch ist er jetzt mehr oder weniger doppelt versorgt.
|
|
|
 |
Similar Threads
|
Windows 7 lässt sich nicht von 32 Bit auf 64 Bit aktualisieren!
01/25/2011 - Technical Support - 16 Replies
Hallo Community,
auf meinem Pc läuft zur Zeit Windows 7 32 Bit und ich wollte das nun gerne auf 64 Bit aufstocken. Mein Pc ist 64 Bit kompatibel, dass habe ich geprüft.
Wenn ich nun den Windows 7 Installer starte und ich Windows 7 Home Premium 64 Bit wähle, kommt nach einiger Zeit diese Meldung:
Windows kann aufgrund der folgenden Probleme nicht aktualisiert werden. Brechen Sie das Upgrade ab, führen Sie jede Aufgabe aus, und starten Sie das Upgrade dann neu, um fortzufahren.
...
|
Quests aktualisieren sich nicht trotz neuladen
01/14/2011 - Metin2 Private Server - 10 Replies
Heyho.
Ich habe ein Problem, dass wenn ich die Quests aktualisieren möchte das anscheinend nicht so ganz geht.
Ich habe z.B. die Steine-Quest eingefügt in meinen Server und habe der Quest 777 Rechte gegeben und dies danach in VPC eingegeben.
cd -usr-rain-channel-share?data-locale-hongkong-quest
chmod 777 make.sh
sh make.sh
bzw.
|
Status Abfragen lässt sich nicht aktualisieren
05/26/2010 - AutoIt - 9 Replies
Tag, bin noch relativ frisch bei AutoIt dabei und schon bin ich auf ein Problem gestossen was ich nicht so leicht lösen kann.
Eventuell kann mir dabei jemand helfen.
Es geht um folgendes, mein Script soll bei einem Buttonclick den Status Abfragen ob notepad.exe offen ist oder nicht.
Kleines Beispiel:
Nehmen wir an ich habe Notepad beim Programmstart offen, so aktualisiert sich der Status in "Notepad Online". Soweit alles korrekt jedoch wenn ich nun Notepad wieder schliesse und auf den...
|
All times are GMT +1. The time now is 01:09.
|
|