ERLEDIGT
NEIN
NEIN
ANTWORTEN
17
17
ZUGRIFFE
1021
1021
EMPFEHLEN
-
Guten Tag zusammen,
ich bin absoluter Neuling in PHP, möchte dies aber schnell lernen.
Mein erstes Projekt ist es, Passwörter zu generieren und diese in einer Datenbank abzuspeichern. Mein Problem ist, dass sobald die Seite refreshed wird, ein neues Passwort generiert wird. Dies sollte aber nur bei dem Klick auf dem Button passieren.
Vielen Dank für die Hilfe.
Edit: Leider hab ich den Dreh mit der Formatierung noch nicht raus :/PHP-Code:<?php $i = 0;
function generate_password($len=10){
$pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$pool .= "abcdefghijklmnopqrstuvwxyz";
$pool .= "1234567890";
$password="";
for ($i = 0; $i < $len; $i++){
$password .= $pool{rand(0, strlen($pool)-1)};
}
return $password;
}
$pass = generate_password();
?>
<form>
<input type="submit" OnClick= "generate_password(this.form);" value="Passwort generieren">
<input type= hidden value "1" name =" form1">
<input type="text" value= <? echo $pass?>> <br>
<input type="submit" OnClick= "save(this.form);" value="Speichern">
</form>
<?php
if (isset($_REQEUST['form1'])){
$content.= $password;
};
?>Geändert von mautix (04.11.11 um 15:56 Uhr)
-
04.11.11 16:07 #2
Gib deiner From die richtigen Attribute mit wie:
action=""
method="post"
und deinem Button gibste einen Namen:
Code :1
<input type="submit" name="save" value="Speichern">
Dann kannste anstatt:
Nur das ausführen wenn das Formular per Post abgesendet wurde:PHP-Code:<?php
if (isset($_REQEUST['form1'])){
$content.= $password;
};
?>
PHP-Code:<?php
if (isset($_POST['save']) && $_POST['save'] == "Speichern"){
$content.= $password;
};
?>Die Schweine von heute sind unsere Schnitzel von morgen!
-
Vielen Dank für die schnelle Antwort. Leider verstehe ich das mit den Attributen nicht. Könntest du das vll genauer erläutern?
Dankeschön!
-
04.11.11 16:23 #4Code :
1 2 3
<form method="post" action="datei.php"> // felder.... </form>
Die Schweine von heute sind unsere Schnitzel von morgen!
-
Ich habe es nun abgeänder. Leider erzeugt er noch immer sofort beim öffnen ein Passwort, sowie beim neuladen ;/
PHP-Code:
<?php
$i = 0;
function generate_password($len=10){
$pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$pool .= "abcdefghijklmnopqrstuvwxyz";
$pool .= "1234567890";
$password="";
for ($i = 0; $i < $len; $i++){
$password .= $pool{rand(0, strlen($pool)-1)};
}
return $password;
}
$pass = generate_password();
?>
<?php
function save(){
};
?>
<form action="select_optgroup.htm">
<select name="Namen" size="1">
<option label="platzhalter">platzhalter</option>
<option label="platzhalter">platzhalter</option>
<option label="platzhalter">platzhalter</option>
<option label="platzhalter">platzhalter</option>
<option label="platzhalter">platzhalter</option>
<option label="platzhalter">platzhalter</option>
</select>
</form>
<form action="">
<input type="submit" OnClick= "generate_password(this.form);" value="Passwort generieren">
<input type= hidden value "1" name =" form1">
<input type="text" value= <? echo $pass?>>
</form>
<form method= "post" action="passwoerter.php">
<input type="submit" name="save" value="Speichern">
</form>
<?php
if (isset($_POST['save']) && $_POST['save'] == "Speichern"){
$content.= $password;
};
?>
-
04.11.11 16:37 #6
Warum hast du so viele Formulare auf deiner SEite? da kennst sich ja keiner aus....
Du solltest erstmal die Grundlagen von HTML können bevor du mit PHP arbeitest.
action="datei.php" bedeutet, schicke die Daten aus den Feldern an die Datei "datei.php"
method="post" bedeutet, schicke Daten als "POST", wenn dieses Attribut nicht angeggeben ist, wird es automatisch als "GET" versendet.Die Schweine von heute sind unsere Schnitzel von morgen!
-
Du rufst diese Funktion
ohne Bedingung jedes Mal beim Laden auf.PHP-Code:$pass = generate_password();
Du müsstestvor der Ausgabe von $pass prüfen:PHP-Code:if (isset($_POST['save']) && $_POST['save'] == "Speichern"){
Und was die Formulare betrifft muss Maniac zustimmen. Schmeiß das Zeug raus was du nicht brauchst. Und such dir ein beliebiges Tutorial zum Thema Formulare erstellen und auswerten.PHP-Code:if (isset($_POST['save']) && $_POST['save'] == "Speichern"){
$pass = generate_password();
}else{
$pass = '';
}
// danach in DB schreiben und/oder mit echo $pass ausgeben
Für die Übereinstimmung von Niederschrift und Hirninhalt.
-
Ist nun überarbeitet, danke. Ja das ist logisch. Allerdings ändert es nichts an der Tatsache, dass es beim neuladen generiert wird. Lediglich, dass es dann in die Datenbank gespeichert wird.
-
Es sollte über Post nicht beim normalen Aufruf generiert werden, wenn der Funktionsaufruf wirklich nur innerhalb des if-Blocks geschrieben steht, weil $_POST dann leer ist. Wenn du die Seite aktualisiert hast, nachdem du vorher das Submit abgeschickt hast, wird entweder mittels Nachfrage oder grundsätzlich das Formular nochmal abgeschickt, und in dem Fall eben auch die Funktion aufgeführt.
Für die Übereinstimmung von Niederschrift und Hirninhalt.
-
Leider komme ich nicht weiter. Gibt es auch andere Lösungswege, bzw Möglichkeiten?!
Vielen Dank!
-
Kannst du nocheinmal bitte kurz zusammenfsse was genau dein Problem ist? Das Password wird jetzt nur beim Absenden generiert richtig (damit bist du also fertig)?
-
Nein leider nicht. Vll ist es besser, dass abschicken an die Datenbank erstmal zu ignorieren. Ich will erstmal, dass das generier des Passwortes nur durch das klicken des Buttons passiert. Das weiterleiten ist dann der zweite Schritt.
-
Versuch mal folgendes
PHP ueberprueft ob der submit Button betaetigt wurde und ruft die Funktion nur auf falls dies der Fall ist.
Ich habe den Code jetzt nicht ausprobiert, aber die Logik sollte stimmen. Google mal nach self submitting form
PHP-Code:<?php
function generate_password($len=10){
$i = 0;
$pool = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$pool .= "abcdefghijklmnopqrstuvwxyz";
$pool .= "1234567890";
$password="";
for ($i = 0; $i < $len; $i++){
$password .= $pool{rand(0, strlen($pool)-1)};
}
return $password;
}
if(isset($_POST['submit']))
{
$pass = generate_password();
}
?>
<form method='post' action="namederDatei.php">
<input type="text" value= <? if(isset($pass))echo $pass;?> /> <br>
<input type="submit" value="Speichern" name='submit' />
</form>Geändert von Roflmao (06.11.11 um 19:45 Uhr)
-
-
Ähnliche Themen
-
Wo Datenbank speichern?
Von gander im Forum .NET DatenverwaltungAntworten: 8Letzter Beitrag: 19.10.10, 08:59 -
CMS: Seiten in Datenbank speichern?
Von einfach nur crack im Forum PHPAntworten: 3Letzter Beitrag: 15.09.09, 17:44 -
[SQLITE] Speichern der Datenbank
Von cymbalta im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 09.01.09, 16:59 -
Bild in Datenbank speichern
Von willimc im Forum PHPAntworten: 3Letzter Beitrag: 07.06.08, 06:10 -
XML in Datenbank speichern
Von Radhad im Forum PHPAntworten: 1Letzter Beitrag: 02.06.07, 00:05





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren