php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.12.2011, 18:51  
Neuer Benutzer
 
Registriert seit: 24.11.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
cqone befindet sich auf einem aufstrebenden Ast
Standard Datensätze speichern

Hallo,
ich wollte ein ein Anmelde-System programmieren, doch MySql machte mir einen Strich durch die Rechnung. Irgendwie will er die eingegebenen Daten einfach nicht speichern!
HTML-Code:
PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html>
  <
head>
  <
meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <
meta name="generator" content="PSPad editor, www.pspad.com">
  <
meta name="author" content="Cqone">
  <
title>Cqone Registrieren</title>
  </
head>
  <
body>
  <
center><h1>Registrieren:</h1></center><br />
  <
form action="registrieren.php" name="user" method="post">
    <
p><input type="text" name="nutzer" maxlength="13" size="35"Benutzername<br /></p>
    <
p><input type="text" name="mail" maxlenght="50"size="35"E-Mail-Adresse<br /></p>
    <
p><input type="password" name="passwort1" maxlength="20" size="35"Passwort<br /></p>
    <
p><input type="password" name="passwort2" maxlength="20" size="35"Passwort wiederholen<br /></p>
    <
p><input type="submit" value="Anmelden!">
  </
form>



  </
body>
</
html
Und der eigentliche PHP-Code:
PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">
  <meta name="author" content="Cqone">
  <title>Cqone</title>
  <?php
  
function error($art)
  {
  switch(
$art)
  {
   case 
mail:
   echo
"Geben sie bitte ihre E-Mail-Adresse an! <br />";
   break;
   
   case 
mail2:
   echo
"Die E-Mail-Adresse wurde bereits verwendet! <br />";
   
   case 
user:
   echo
"Geben sie bitte einen Benutzernamen an! <br />";
   break;
   
   case 
user2:
   echo
"Der Benutzername wird bereits verwendet! <br />";
   break;
   
   case 
passwort1:
   echo
"Bitte geben sie beide Passwörter an! <br />";
   
   case 
passwort2:
   echo
"Die Passwörter stimmen nicht überein! <br />";
   break;
   
   default:
   break; 
  }
  }
  
?>
  </head>
  <body>
   <?php
        $a 
0;
        if(
$_POST["mail"] == "")
        {
        
error(mail);
        
$a++;
        }
        if(
$_POST["nutzer"] == "")
        {
        
error(user);
        
$a++;
        }
        if(
$_POST["passwort1"] == "" or $_POST["passwort2"] == "")
        {
        
error(passwort1);
        
$a++;
        }
        if(
$_POST["passwort1"] !== $_POST["passwort2"])
        {
        
error(passwort2);
        
$a++;
        }
        if(
$a >= 1)
        {
        echo
"<a href='./index.php'>Zurück</a>";
        }
        else
        {
            
mysql_connect("localhost","cqone""Passwort");
            
mysql_select_db("cqonee");
            
$res mysql_query("select * from user");
            
$passwort $_POST['passwort1'];
            
$nutzer $_POST['nutzer'];
            
$mail $_POST['mail'];
            
$b 0;
            while (
$dsatz mysql_fetch_assoc($res))
            {
            if(
$dsatz["Benutzername"] == $nutzer)
            {
            
error(user2);
            
$b++;
            break;
            }
            else
            {
            if(
$dsatz["E-Mail"] == $mail)
            {
            
error(mail2);
            
$b++;
            break;
            }
            }    
            }
            
$eintrag "INSERT INTO user (Benutzername, Passwort, E-Mail, Datum) VALUES ('$nutzer', '$passwort','$mail', Now())";
            
mysql_query($eintrag);
            
mysql_close(); 
        }

        
        
   
?>
  </body>
</html>
So sieht es in PHPMyAdmin aus:
Bild

Danke schonmal für jede Antwort!
cqone ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 30.12.2011, 19:02  
meikel
Gast
 
Beiträge: n/a
Standard

Deine error Funktion ist krank. Du verwendest in der Fallentscheidung nicht definierte Konstanten. Oder sollten das literale Strings sein, bei denen du die Stringbegrenzer vergessen hast?
  Mit Zitat antworten
Alt 30.12.2011, 19:03  
Neuer Benutzer
 
Registriert seit: 24.11.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
cqone befindet sich auf einem aufstrebenden Ast
Standard

Die Error-Funktion und so funktioniert ja. Aber er speichert Name/Mail/Datum/Passwort einfach nicht in die Tabelle..
cqone ist offline   Mit Zitat antworten
Alt 30.12.2011, 19:22  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von cqone Beitrag anzeigen
Die Error-Funktion und so funktioniert ja.
Nur weil PHP Gnade vor Recht gehen läßt.

Zitat:
Aber er speichert Name/Mail/Datum/Passwort einfach nicht in die Tabelle..
Der else Zweig sieht sehr umständlich aus.

Könntest Du eventuell mal den Quelltext optisch etwas aufhübschen (Blockeinrückungen), so daß man die Struktur besser überblicken kann? Ich bin zu faul, die Klammern zu zählen und zuzuordnen.

Zusatz: der Tabelle fehlt ein primary key. Sonst kommt es zu Doubletten.

Vermutlich (hab nur oberflächlich geguckt) dient dies Script nur dazu, neue User einzutragen.

Wenn ein PK gesetzt ist, dann reicht ein INSERT aus. MySQL führt dann das INSERT nur dann aus, wenn der Username noch nicht existiert.

Falls der Username schon existiert: Den entstehenden Fehler abfangen und den User anmeckern.
  Mit Zitat antworten
Alt 30.12.2011, 19:24  
Neuer Benutzer
 
Registriert seit: 24.11.2011
Beiträge: 4
PHP-Kenntnisse:
Anfänger
cqone befindet sich auf einem aufstrebenden Ast
Standard

Ja bis jetzt ist es nur da, um neue User einzutragen. Wenn der name schon vorhanden ist, soll er auch nicht eingetragen werden. Und optisch werde ich es gleich verbessern

Und wie füge ich den primary key hinzu?
cqone ist offline   Mit Zitat antworten
Alt 30.12.2011, 19:51  
meikel
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von cqone Beitrag anzeigen
Und wie füge ich den primary key hinzu?
Mit dem PMA. Der jammert ja eh schon (im Bild), weil ihm der Index fehlt.
  Mit Zitat antworten
Alt 31.12.2011, 00:35  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 1.140
PHP-Kenntnisse:
Anfänger
hausl wird schon bald berühmt werdenhausl wird schon bald berühmt werden
Standard

Zitat:
Zitat von cqone Beitrag anzeigen
Die Error-Funktion und so funktioniert ja
Mach mal ein error_reporting(-1) am Beginn des Scriptes rein und staune
__________________
Keine Zahl != ein Zeichen das keine Zahl ist
hausl ist offline   Mit Zitat antworten
Alt 02.01.2012, 09:34  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

also ich würd mir mal die Spalte E-mail anschauen - ich bin mir nicht sicher, ob MySQL die so "frisst" oder nicht doch besser Backticks drumherum gehören
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[MySQL] x Datensätze ohne Schleife gelöscht? MaNuu Datenbanken 2 09.09.2011 02:53
MySQL Datensätze lassen sich nicht speichern aftertime PHP Einsteiger 6 07.09.2011 14:34
[Erledigt] mySQL Stored Procedure - Anzahl geänderter Datensätze speichern Bruno Datenbanken 3 12.08.2011 12:28
Informationen bei Verlassen der Seite speichern Multivac JavaScript, Ajax und mehr 3 16.04.2010 18:25
[Erledigt] jQuery Ajax .post - Datensätze in mySQL speichern ThomasM JavaScript, Ajax und mehr 1 29.03.2010 07:31
[Erledigt] Gleichen Wert auf 2 Datensätze speichern Zerdux PHP Tipps 2010 0 20.02.2010 18:25
x Datensätze mit einem Submit in MySQL speichern MCDE PHP Tipps 2010 7 01.02.2010 16:35
Datensätze aus SQlite 3 abfragen und in Mysql Speichern. Raintrader Datenbanken 5 14.09.2009 13:04
[Erledigt] XML Datensätze in DB speichern Sermon PHP Tipps 2009 23 24.03.2009 14:27
[Erledigt] Fehlende Datensätze bei Ausgabe... Ramona86 Datenbanken 8 04.07.2008 12:12
mehrere datensätze mit mehreren submits ändern kladotti PHP Tipps 2008 2 27.04.2008 21:43
[Erledigt] Speichern unter... geht nicht!!! PHP-Fortgeschrittene 8 09.02.2006 16:55
[Erledigt] Datensätze aus Datenbank speichern und zuweisen PHP Tipps 2005-2 6 11.09.2005 15:38
Datensätze kampfnickel PHP Tipps 2005 4 17.01.2005 13:41
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript datensatz speichern

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum