Login  Regeln Aktuelles Datum und Uhrzeit: 21.11.2008, 12:32  
Startseite
Registrieren
Profil
Suchen
Mitgliederliste
Verzeichnis
Impressum



Partner
kostenlose Homepage
Fussball
Kostenloses Forum
SMS kostenlos
Webhosting
Webmasterportal
Kostenlos
Kredit ohne Schufa
Esoterik-Forum
Selbsthilfeforum
Artikel Backlink
Datenrettung
Problem mit Registrierungs Script

 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Serverseitige Websprachen
Vorheriges Thema anzeigen Nächstes Thema anzeigen 
Autor Nachricht
@nd|
Neuer [User]
Neuer



Anmeldung: 04.06.08
Beiträge: 4

BeitragVerfasst am: 21.07.2008, 20:24    Titel: Problem mit Registrierungs Script Antworten mit Zitat

Hallo,
ich bin gerade dabei für meine Seite eine Registrierungs Funktion zu bauen und komme an einer Stelle nicht weiter. Mein Script sieht momentan so aus, noch recht simpel, aber ich wollte, dass erstmal das funktioniert:

Code:
<?
$server = "localhost";
  $benutzer = "benutzer";
  $kennwort = "pw";
  $verbindung = mysql_connect ($server, $benutzer, $kennwort);
  mysql_select_db("db_name", $verbindung);
 
 
 $username = $_POST["nick"];
   
  $eintrag = "INSERT INTO user (`id`, `nick`) VALUES ('', '$username')";
  $eintragen = mysql_query($eintrag);
  echo "eingetragen!!!";



?>
<html>
<head>
<title>Untitled Document</title>
</head>

<body>
<form action="register2.php" method="post">
Name: <input name="nick" type="text" value="">
<input type="submit" name="senden" value="Absenden" />
</form>
</body>
</html>


Es funktioniert soweit auch, dass wenn man einen Namen in das Feld schreibt und auf den Button klickt, dass er in die Datenbank eingetragen wird. Das Problem ist nur, das er auch einen Datenbankeintrag schreibt wenn man diese Seite aufruft, dieser Eintrag ist allerings leer. Auch wenn man die Seite aktualisiert wird ein leerer Eintrag in die DB geschrieben.

Früher hatte ich deswegen folgenden code verwendet:

Code:
if($senden == Absenden)
{

 $username = $_POST["nick"];
   
  $eintrag = "INSERT INTO user (`id`, `nick`) VALUES ('', '$username')";
  $eintragen = mysql_query($eintrag);
  echo "eingetragen!!!";

}


Also das wenn man den Button drückt das script ausgeführt wird und nicht beim laden der Seite. Doch wenn ich es so verwende passiert gar nichts wenn ich auf den Button drücke.

Meine Frage ist also wie ich es erreiche das das Script erst ausgeführt wird, wenn ich den Button drücke.
Vielen Dank schonmal
Mfg
@nd|


Nach oben
Private Nachricht senden
chris1988
Bekannter [User]
Bekannter



Anmeldung: 12.12.05
Beiträge: 1623

BeitragVerfasst am: 21.07.2008, 23:03    Titel: Antworten mit Zitat

prüf doch einfach, ob $_POST["nick"] leer ist oder nicht.
Nur wenn er nicht leer ist -> ausführen.

if (!$username == "") { ...


Ich hoffe mal, dass du das ganze noch gegen SQL-Injection absicherst... Winken

_________________
Mancher ertrinkt lieber,
als daß er um Hilfe ruft.


(Wilhelm Busch)


Nach oben
Private Nachricht senden
maudim02
Helfer [User]
Helfer



Anmeldung: 30.09.06
Beiträge: 158

BeitragVerfasst am: 22.07.2008, 06:18    Titel: Antworten mit Zitat

Code:

<?
$server = "localhost";
  $benutzer = "benutzer";
  $kennwort = "pw";
  if($_POST['senden'])
  {
    $verbindung = mysql_connect ($server, $benutzer, $kennwort);
    mysql_select_db("db_name", $verbindung);
 
 
    $username = $_POST["nick"];
    $eintrag = "INSERT INTO user (`id`, `nick`) VALUES ('', '$username')";
    $eintragen = mysql_query($eintrag);
    echo "eingetragen!!!";
  }


?>
<html>
<head>
<title>Untitled Document</title>
</head>

<body>
<form action="register2.php" method="post">
Name: <input name="nick" type="text" value="">
<input type="submit" name="senden" value="Absenden" />
</form>
</body>
</html>


beim vorigen code, mit dem
Code:
if($senden==Absenden)
ist klar das nie was passiert ist, weil dei if-abfrage immer false war...

1. $senden sollte der wert vom button sein, also $senden = $_POST['senden']
2. $senden == Absenden?! Absenden ist genau gar nichts Smilie


Nach oben
Private Nachricht senden
@nd|
Neuer [User]
Neuer



Anmeldung: 04.06.08
Beiträge: 4

BeitragVerfasst am: 22.07.2008, 10:49    Titel: Antworten mit Zitat

Super mit "$senden = $_POST['senden']" funktioniert es jetzt, danke Smilie

Und vielen Dankfür den Hinweis mit SQL-Injection, davon habe ich bisher noch gar nichts gehört gehabt, fange erst so richtig an mich in php und mysql einzuarbeiten, hatte vor einiger Zeit damit zwar schonmal gearbeitet aber auch nicht sehr ausführlich.


Nach oben
Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Gehe zu:  

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Toplist bewertung / Problem: Banner n... MasterM112 HTML & CSS 0 20.11.2008, 18:12 Letzten Beitrag anzeigen
Keine neuen Beiträge Mein File Upload-Script - Funktionier... nicogames Serverseitige Websprachen 0 10.11.2008, 18:05 Letzten Beitrag anzeigen
Keine neuen Beiträge Internet Serv Problem Chris Fabian Einsteigerforum 4 06.11.2008, 21:30 Letzten Beitrag anzeigen
Keine neuen Beiträge Script umschreiben eforium Einsteigerforum 3 04.11.2008, 22:13 Letzten Beitrag anzeigen
Keine neuen Beiträge Design-Implementierung in Script Panikplunder Kleinanzeigen 0 27.10.2008, 12:43 Letzten Beitrag anzeigen
Threadübersicht