Gegen Bilderklau - Das Original

Registrierung Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Statistik Chat Karte Zur Startseite

Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Tutorials und FAQ » [PHP & MySQL] Automatisches Eintragen mit MySQL » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen
Seiten (3): [1] 2 3 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Automatisches Eintragen mit MySQL
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Nanni Nanni ist weiblich
Mitglied


images/avatars/avatar-54031.gif

Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien
Name: nennt mich Nanni

Automatisches Eintragen mit MySQL Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Automatisches Eintragen mit MySQL


1 - Allgemeines
Automatisches Eintragen läuft so ab, dass Daten durch ein einfaches Formular eingegeben und in der MySQL-Datenbanktabelle gespeichert werden, von wo aus man gezielt mit ihnen arbeiten kann. Das Tutorial kann natürlich genauso auf das Eintragen und Verwalten von Pferden, Turniererfolgen, Turnierteilnehmern und vieles mehr angewandt werden.

Voraussetzung ist, dass ihr eure Hoster php unterstützt und MySQL-Datenbanken anbietet. Infos dazu findet ihr meist indem ihr euch bei dem jeweiligen Anbieter einloggt und im Benutzermenü nach "(MySQL-)Datenbanken" oder "phpmyAdmin" sucht. Dort steht dann auch der Link zu eurer persönlichen phpmyAdmin-Seite, mit der Datenbanken bzw ihr Inhalt (auch) verwaltet werden können.

2 - Tabelle erstellen
An sich ist phpmyAdmin durch seine aussagekräftigen Menüpunktbezeichnungen ziemlich selbsterklärend (ggf. Sprache auf Deutsch stellen..). Dieses Tutorial mit Screens erklärt das Erstellen einer Datenbanktabelle, hier nur ganz kurz was ihr für Mitglieder speziell braucht:
# ID, mit dem Typ INT (nur Zahlen möglich), Länge/Set muss die maximale Länge beinhalten ("5" bedeutet hier, die ID darf nur 5 Stellen lang sein, es können als 'nur' 99999 Mitglieder eingetragen werden). Als Index wird hier Unique angegeben, da eine ID nicht doppelt vorkommen darf, zudem wird auto_increment angehackt. Das bewirkt, sollte ein Mitglied ohne ID eingetragen werden, dass automatisch die nächsthöhere Zahl eingetragen wird.
# Der Name bekommt den Typ VARCHAR (Einzeiliges Eingabefeld) zugeordnet, bei Länge/Set wird meist ein Standartwert von 255 angegeben.
# Bei längeren Texten wie der Selbstbeschreibung wird daher der Typ TEXT verwendet, hier darf ausnahmsweise auch Länge/Set freibleiben.

Das Ausbauen der Mitgliedersteckbriefe überlasse ich euch, das Tutorial geht von ID, Name, Email und Selbstbeschreibung aus.

3 - Verbindung zwischen Homepage und Datenbank aufbauen

Das macht man meist mit einer eigenen Datei, welche in alle Seiten, in denen ihr auf die Datenbank zugreifen wollt (Steckbriefe, Übersichten,...), inkludiert wird [include("Datenbank.php");]. Dazu muss sie sich jedoch im selben Ordner befinden wie die Seiten, in welche sie inkludiert wird. In die Datenbank.php - Datei kommt folgender Inhalt:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
<?php
$sqlhost "HOSTER";
$sqluser "USERNAME";
$sqlpassword "******";
$sqldb "DATENBANK";

mysql_connect($sqlhost,$sqluser,$sqlpassword) or die ("Keine Verbindung möglich");
mysql_select_db($sqldb) or die ("Die Datenbank existiert nicht");
?>


Den oberen Absatz müsst ihr anpassen.
# Hoster ist bei cwsurf "db4.cwsurf.de", bei bplaced sowie funpic "localhost". Bei lima-city war es, wenn ich mich richtig erinnere, "mysql.lima-city.de". Ihr seht, das ist von Hoster zu Hoster unterschiedlich.
# SQL-Name ist immer euer Username (z.B. Musterhof).
# Das Passwort ist meist das gewöhnliche Passwort, nur manche Hoster (lima-city, funpic) fragen bei der Einrichtung der Datenbank nach einem speziellen MySQL-Passwort. Dann dieses nehmen ;D
# Die erste Datenbank hat für gewöhnlich den Namen eures Usernamens, also wieder "Musterhof".

Auch hier findet ihr bei Unklarheiten meist auf der Webseite eures Anbieters alle Infos die ihr braucht!

4 - Anmeldeformular, erste Seite (Daten eingeben)

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
<?php
echo "<form method="post" action="anmeldung2.php">

<table><tr><td valign="top">Name *</td><td><input name="name" value="$name">";
if($fehler1) { echo "$fehler1"; }

echo "</td></tr><tr><td valign="top">Alter *</td><td><input name="alter" size="3" value="$alter"> Jahre";
if($fehler2) { echo "$fehler2"; }

echo "</td></tr><tr><td valign="top">Email *</td><td><input name="email" value="$email">";
if($fehler3) { echo "$fehler3"; }

echo "</td></tr><tr><td colspan="2">Selbstbeschreibung</td></tr>
<tr><td colspan="2"><textarea cols="80" rows="6" name="selbstbeschreibung">$selbstbeschreibung</textarea></td></tr>
<tr><td colspan=2><P align=right><input type="Submit" value="Absenden"></td></tr></form></table>";
?>


# Wir öffnen PHP und schreiben die HTML-Tags in eine Echo-Ausgabe. Da diese bei " beginnt und bei " aufhört, müssten wir Anführungszeichen innerhalb der Echo-Ausgabe entsprechend kennzeichnen: Mit einem \. Der form-Tag selbst sagt uns, auf welche Datei nach dem Abschicken weitergeleitet werden soll.
# Nun beginnen wir mit der ersten Tabellenzeile, "Name" und Eingabefeld, value steht für einen Wert, der bereits vorgeschrieben ist. Der User kann das natürlich wieder weglöschen bzw umändern. Da die Variable $name noch nicht definiert ist, wird jedoch vorerst nichts angezeigt, den Sinn davon erfährt ihr erst in Schritt 2.
# Nun folgt jedoch nicht wie erwartet das Ende der Zeile, sondern eine if-Anweisung. Wenn $fehler1 (...gesetzt ist), soll der Inhalt dieser Variablen (natürlich eine Fehlermeldung) ausgegeben werden (geprüft wird auf Eingabe bzw auf erlaubte Zeichen). Vorerst haben wir noch das leere Formular und keinerlei Fehlermeldungen, die da stehen.
# Dann geben wir weiter aus - hier dürfen wir nicht vergessen, die Tabellenzeile zu beenden, ehe wir die nächste anfangen. Auch beim Alter und der Mailadresse wollen wir prüfen, ob das Feld ausgefüllt ist. Die Selbstbeschreibung (Textarea) ist freiwillig.
# Zum Schluss beenden wir die vorletzte Zeile und fügen mit "Submit" den Absendebutton ein. Danach müssen wir natürlich noch form-Tag, Tabelle und php schließen.

5 - Anmeldeformular, zweite Seite (auf Fehler prüfen & eintragen)

php:
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
  $name $_POST['name'];
  $alter $_POST['alter'];
  $email $_POST['email'];
  $selbstbeschreibung $_POST['selbstbeschreibung'];

if(preg_match("/[^a-zA-ZäöüÄÖÜß[:space:]]/"$name)) { $fehler1 "<br><FONT color=blue>Der Benutzername darf nur aus Buchstaben 
und Leerzeichen bestehen.</FONT>"; }

include("Datenbank.php");
$mitglieder mysql_query("SELECT * FROM Mitglieder WHERE Name = '$name'");
if(@mysql_num_rows($namen) > 0) { $fehler1 "<br><FONT color=blue>Der gewünschte Benutzername ist schon vergeben.</FONT>"; }

if(!$name) { $fehler1 "<br><FONT color=blue>Bitte einen Benutzernamen angeben.</FONT>"; }

if(!$alter) { $fehler2 "<br><FONT color=blue>Du hast kein Alter angegeben!</FONT>"; }

if(!$email) { $fehler3 "<br><FONT color=blue>Du hast keine Mailadresse angegeben!</FONT>"; }

if(($fehler1) OR ($fehler2) OR ($fehler3)) {
  include("anmeldung.php"); } else {
  $eintrag "INSERT INTO `Mitglieder` ( `ID` , `Name` , `Alter` , `Email` , `Selbstbeschreibung` ) VALUES ('', '$name', 
  '$alter', '$email', '$selbstbeschreibung')";
  $eintragen mysql_query($eintrag); 
  if($eintragen == "true") {
    echo "Du wurdest erfolgreich als Mitglied eingetragen"; } else {
    echo "<FONT color=red>Leider konnten deine Daten nicht eingetragen werden, probier es bitte erneut</FONT>";
    include("anmeldung.php"); }
  }
?>


# Hier fragen wir erstmal die geposteten Variablen ab, wie bei jedem Formular. Danach schauen wir mit preg_match, welche Zeichen in $name enthalten sind. Erlaubt sollen Buchstaben sowie Leerzeichen sein, diese geben wir an und legen mit ^ fast, dass geprüft wird ob etwas vorkommt das nicht den angegebenen Zeichen entspricht - das ist einfacher, als diverse Sonderzeichen aufzulisten, die blockiert werden sollen. Wenn preg_match solche Zeichen findet definieren wir die Fehlermeldung, die dann unter dem Namen angezeigt wird (siehe Seite eins).
# Dann inkludieren wir die Datenbank-Datei, damit wir Zugriff auf die Datenbank haben, das brauchen wir für den nächsten Schritt.
# Nun bauen wir eine kleine Abfrage ein, wir suchen das Mitglied $name in unserer Mitgliedertabelle. Dort steht es ja bis jetzt noch nicht, es sei denn, ein anderes Mitglied hat schon den Name. Dann ist das Suchergebnis > 0 und die Fehlermeldung, der Benutzname sei schon vergeben, wird definiert.
# Anschließend prüfen wir, ob der Name leer ist. Dann geben wir als diesen Fehler doch lieber aus, dass kein Name eingeben wurde!
# Bei Alter und Mailadresse prüfen wir, ob sie eingegeben wurden.

Wenn nun einer der Fehler gesetzt wurde - was ja nur passiert, wenn es einen Fehler gibt - wird das Formular includet. Es enthält nun in allen Feldern bereits die vorhin getätigten Eingaben des Users, da wir ja die Variablen $name, $alter usw definiert haben als das vom User eingegebene. Zudem erscheinen nun all jene Fehlermeldungen, die gesetzt wurden.

Wenn keiner der Fehler gesetzt wurde
# Erst definieren wir $eintrag mit einem MySQL-Query: Es besagt dass eine Zeile eingefügt werden soll (INSERT INTO), und zwar in die Datenbanktabelle "Mitglieder". Danach wird den angegebenen Feldern der Tabelle jeweils ein Inhalt zugewiesen. Die ' ' können frei bleiben (bei ID wird Dank auto_increment automatisch die nächsthöhere ID zugewiesen), eine Variable beinhalten oder auch einfach ein Wort (z.B. für das Feld Status: 'Probemitglied' o.ä.).
# Nun wird mit $eintragen der Query ausgeführt, MySQL liefert dann entweder true oder false zurück. Je nach dem soll ausgegeben werden, ob die Anmeldung gelungen ist oder nicht. Bei einem Fehler - was eigentlich nicht vorkommen sollte - wird neben der Fehlermeldung wieder die erste Datei (mitsamt Eingaben) inkludiert.


Ich hoffe, es klappt alles und hilft euch, ansonsten könnt ihr natürlich gerne hier nachfragen bzw wenn was unklar ist, einfach schreien großes Grinsen

LG Nanni

__________________
Hier nicht mehr aktiv.
Ich bin erreichbar über Mail, im VRH Treff sowie bei
Geisterreiter.de

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Nanni: 13.06.2012 20:27.

28.01.2012 01:10 Nanni ist offline E-Mail an Nanni senden Homepage von Nanni Beiträge von Nanni suchen Nehmen Sie Nanni in Ihre Freundesliste auf Fügen Sie Nanni in Ihre Kontaktliste ein AIM-Name von Nanni: midnightlenii MSN Passport-Profil von Nanni anzeigen
Gretchen12
Mitglied


images/avatars/avatar-54049.jpg

Dabei seit: 11.06.2012
Beiträge: 14

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

erstmal tolles tut smile und schön erklärt, ich hab jetzt alles soweit gemacht wie du beschrieben hast, allerdings wie benutzte ich das formular jetzt? wenn ich auf eine von meinen 2 seiten (also Anmeldung.php oder anmeldung2.php) gehge kommt beides mal nur eine komplett weiße seite :/

__________________

12.06.2012 16:35 Gretchen12 ist offline E-Mail an Gretchen12 senden Beiträge von Gretchen12 suchen Nehmen Sie Gretchen12 in Ihre Freundesliste auf
Nanni Nanni ist weiblich
Mitglied


images/avatars/avatar-54031.gif

Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien
Name: nennt mich Nanni

Themenstarter Thema begonnen von Nanni
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Eigentlich sollte auf der anmeldung.php dein Formular, auf der anmeldung2.php das Formular inklusive sämtlicher Fehlermeldungen stehen. Dein Server unterstützt php? Dann kann ich dir nur anbieten, dass du deine Code reinstellst und ich schau, ob ich Fehler finde... :/

__________________
Hier nicht mehr aktiv.
Ich bin erreichbar über Mail, im VRH Treff sowie bei
Geisterreiter.de

12.06.2012 20:39 Nanni ist offline E-Mail an Nanni senden Homepage von Nanni Beiträge von Nanni suchen Nehmen Sie Nanni in Ihre Freundesliste auf Fügen Sie Nanni in Ihre Kontaktliste ein AIM-Name von Nanni: midnightlenii MSN Passport-Profil von Nanni anzeigen
Kathy Kathy ist weiblich
Mitglied


images/avatars/avatar-15492.gif

Dabei seit: 06.04.2005
Beiträge: 99
Herkunft: NRW

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey,
super tut. Bin total Begeistert. Hat beim erstellen und einrichten auch super geklappt und kam damit klar.

Doch dann als ich getestet habe, spuckt der mir immer eine Warnungen aus und am Ende sagt er mir
Du wurdest erfolgreich als Mitglied eingetragen. Die Datenbank bleibt aber weiterhin leer.

code:
1:
2:
3:
4:
 Warning: mysql_query(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /mnt/web8/53/79/51962779/htdocs/Pferdestall/V1/anmeldung2.php on line 16

Warning: mysql_query(): A link to the server could not be established in /mnt/web8/53/79/51962779/htdocs/Pferdestall/V1/anmeldung2.php on line 16


line 16 ist bei mir folgende Zeile:
code:
1:
2:
 $mitglieder = mysql_query("SELECT * FROM Mitglieder WHERE Name = '$name'";)
 

Hast du vielleicht eine Idee woran das liegen könnte? Also was ihm daran nicht gefällt???

Vielen Lieben Dank schon einmal für deine Antwort. Herz

__________________
... wähle das Leben, aber der Kampf ist hart.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Kathy: 12.06.2012 23:31.

12.06.2012 23:28 Kathy ist offline E-Mail an Kathy senden Homepage von Kathy Beiträge von Kathy suchen Nehmen Sie Kathy in Ihre Freundesliste auf MSN Passport-Profil von Kathy anzeigen
Nanni Nanni ist weiblich
Mitglied


images/avatars/avatar-54031.gif

Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien
Name: nennt mich Nanni

Themenstarter Thema begonnen von Nanni
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Oh. Ja *schäm* Ihm fehlt die Datenbank.
Das include("Datenbank.php"); muss natürlich über der sql-Abfrage (der Zeile, die du postest) stehen, werd das gleich mal im Tut ändern großes Grinsen Jedenfalls gut, dass du Bescheid sagst!

__________________
Hier nicht mehr aktiv.
Ich bin erreichbar über Mail, im VRH Treff sowie bei
Geisterreiter.de

12.06.2012 23:35 Nanni ist offline E-Mail an Nanni senden Homepage von Nanni Beiträge von Nanni suchen Nehmen Sie Nanni in Ihre Freundesliste auf Fügen Sie Nanni in Ihre Kontaktliste ein AIM-Name von Nanni: midnightlenii MSN Passport-Profil von Nanni anzeigen
Kathy Kathy ist weiblich
Mitglied


images/avatars/avatar-15492.gif

Dabei seit: 06.04.2005
Beiträge: 99
Herkunft: NRW

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

ahhhhhh *bing licht auf gehen*

Vielen Dank für deine Hilfe smile
Nun klappt alles, zeigt alles an, zeigt keinen fehler mehr, sagt ich bin eingetragen ... nur meine Datenbank bleibt leer xDDD
Irgendwas mach ich falsch xD
Ich mach mich mal wieder an die Fehler suche ^^

__________________
... wähle das Leben, aber der Kampf ist hart.

12.06.2012 23:48 Kathy ist offline E-Mail an Kathy senden Homepage von Kathy Beiträge von Kathy suchen Nehmen Sie Kathy in Ihre Freundesliste auf MSN Passport-Profil von Kathy anzeigen
Gretchen12
Mitglied


images/avatars/avatar-54049.jpg

Dabei seit: 11.06.2012
Beiträge: 14

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

also mein server is funpic

,,Anmeldung.php"
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
<?php
echo "<form method="post" action="anmeldung2.php">

<table><tr><td valign="top">Name Reiter*</td><td><input name="reiter" value="$reiter">";
if($fehler1) { echo "$fehler1"; }

echo "</td></tr><tr><td valign="top">Pferd*</td><td><input name="pferd " size="3" value="$pferd">";
if($fehler2) { echo "$fehler2"; }

echo "</td></tr><tr><td valign="top">Email *</td><td><input name="hof" value="$hof">";
if($fehler3) { echo "$fehler3"; }

<tr><td colspan=2><P align=right><input type="Submit" value="Absenden"></td></tr></form></table>";
?>


anmeldung2.php
php:
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:
 <?php
  $reiter $_POST['reiter'];
  $pferd $_POST['pferd'];
  $hof $_POST['hof'];

if(preg_match("/[^a-zA-ZäöüÄÖÜß[:space:]]/"$reiter)) { $fehler1 "<br><FONT color=blue>Der Name darf nur aus Buchstaben 
und Leerzeichen bestehen.</FONT>"; }

if(!$name) { $fehler1 "<br><FONT color=blue>Bitte trage deinen Namen ein!</FONT>"; }

if(!$alter) { $fehler2 "<br><FONT color=blue>Bitte trage dein Pferd ein!</FONT>"; }

if(!$email) { $fehler3 "<br><FONT color=blue>Bitte geh deinen Heimathof an!</FONT>"; }

if(($fehler1) OR ($fehler2) OR ($fehler3)) {
  include("Anmeldung.php"); } else {
  include("Datenbank.php");
  $eintrag "INSERT INTO `Anmeldung` ( `reiter` , `pferd` , `hof` ) VALUES ('', '$reiter', 
  '$pferd', '$hof' )";
  $eintragen mysql_query($eintrag); 
  if($eintragen "true") {
    echo "Deine Nennung wurde erfolgreich eingetragen"; } else {
    echo "<FONT color=red>Leider konnten deine Daten nicht eingetragen werden, probier es bitte erneut</FONT>";
    include("Anmeldung.php"); }
  }
?> 


:/

__________________

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Gretchen12: 13.06.2012 13:39.

13.06.2012 13:39 Gretchen12 ist offline E-Mail an Gretchen12 senden Beiträge von Gretchen12 suchen Nehmen Sie Gretchen12 in Ihre Freundesliste auf
Nanni Nanni ist weiblich
Mitglied


images/avatars/avatar-54031.gif

Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien
Name: nennt mich Nanni

Themenstarter Thema begonnen von Nanni
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

In Zeile 13 (Anmeldung.php) fehlt dir
code:
1:
echo "


ehe du mit der Ausgabe der Tabelle weiter machst.

Und Kathy, für das nicht-eintragen sehe ich eigentlich keinen Fehler.. :/

__________________
Hier nicht mehr aktiv.
Ich bin erreichbar über Mail, im VRH Treff sowie bei
Geisterreiter.de

13.06.2012 14:24 Nanni ist offline E-Mail an Nanni senden Homepage von Nanni Beiträge von Nanni suchen Nehmen Sie Nanni in Ihre Freundesliste auf Fügen Sie Nanni in Ihre Kontaktliste ein AIM-Name von Nanni: midnightlenii MSN Passport-Profil von Nanni anzeigen
Gretchen12
Mitglied


images/avatars/avatar-54049.jpg

Dabei seit: 11.06.2012
Beiträge: 14

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

juhu jetzt zeigts wenistens was an smile smile
wenn ichs allerdings abschicken will kommt bei allen 3 sachen ,,bitte geb xy an" obwohl ich alles eingetragen hab

__________________

13.06.2012 14:29 Gretchen12 ist offline E-Mail an Gretchen12 senden Beiträge von Gretchen12 suchen Nehmen Sie Gretchen12 in Ihre Freundesliste auf
Kathy Kathy ist weiblich
Mitglied


images/avatars/avatar-15492.gif

Dabei seit: 06.04.2005
Beiträge: 99
Herkunft: NRW

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Und Kathy, für das nicht-eintragen sehe ich eigentlich keinen Fehler.. :/


ich leider auch nicht... es funktioniert ja alles, zeigt keinen Fehler an nichts und dennoch bleibt die DB leer ...
ich will gleich die DB noch mal neu aufsetzten, in der Hoffnung das es dann klappt..

__________________
... wähle das Leben, aber der Kampf ist hart.

13.06.2012 19:13 Kathy ist offline E-Mail an Kathy senden Homepage von Kathy Beiträge von Kathy suchen Nehmen Sie Kathy in Ihre Freundesliste auf MSN Passport-Profil von Kathy anzeigen
Oli
Server-Administrator


Dabei seit: 13.06.2010
Beiträge: 1.540

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

php:
1:
if($eintragen "true") {
Weist $eintragen den Wert "true" zu, und gibt außerdem "true" zurück, welches dann true ist. Trifft also immer zu, auch wenn das Eintragen in die Datenbank fehlgeschlagen wäre.

Ich denke mal beabsichtigt war:
php:
1:
if($eintragen == true){
Bzw. dann gleich:
php:
1:
if($eintragen){


Außerdem könnte man - zumindenst beim Entwickeln - noch den MySQL-Fehler ausgeben, damit man den Fehler schneller findet:
php:
1:
2:
3:
4:
5:
6:
7:
//...
if($eintragen) {
    echo "Deine Nennung wurde erfolgreich eingetragen"; } else {
    echo "<FONT color=red>Leider konnten deine Daten nicht eingetragen werden, probier es bitte erneut</FONT>";
    echo " Fehler: " mysql_error(); // MySQL-Fehler anzeigen
    include("Anmeldung.php"); }
//...
13.06.2012 19:40 Oli ist offline Beiträge von Oli suchen Nehmen Sie Oli in Ihre Freundesliste auf
Kathy Kathy ist weiblich
Mitglied


images/avatars/avatar-15492.gif

Dabei seit: 06.04.2005
Beiträge: 99
Herkunft: NRW

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke Oli !!
Dank deinem Tipp mit der Fehlerausgabe, habe ich ausprobiert und hab den Fehler gefunden.
Ich hab einen Buchstaben groß geschrieben der klein geschrieben wurde. traurig

Jetzt funktioniert alles!!
Danke auch an dich Nanni, ohne dich und dein Tut hätte ich es nicht geschafft.

__________________
... wähle das Leben, aber der Kampf ist hart.

13.06.2012 20:04 Kathy ist offline E-Mail an Kathy senden Homepage von Kathy Beiträge von Kathy suchen Nehmen Sie Kathy in Ihre Freundesliste auf MSN Passport-Profil von Kathy anzeigen
Nanni Nanni ist weiblich
Mitglied


images/avatars/avatar-54031.gif

Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien
Name: nennt mich Nanni

Themenstarter Thema begonnen von Nanni
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Oh, ja, das = hab ich wohl beim Lesen automatisch verdoppelt Zunge raus Habs im Tut geändert.

Und bitte Kathy, freut mich dass es dir genutzt hat (:

__________________
Hier nicht mehr aktiv.
Ich bin erreichbar über Mail, im VRH Treff sowie bei
Geisterreiter.de

13.06.2012 20:29 Nanni ist offline E-Mail an Nanni senden Homepage von Nanni Beiträge von Nanni suchen Nehmen Sie Nanni in Ihre Freundesliste auf Fügen Sie Nanni in Ihre Kontaktliste ein AIM-Name von Nanni: midnightlenii MSN Passport-Profil von Nanni anzeigen
ShivaChewy ShivaChewy ist weiblich
ehemals Shakky


images/avatars/avatar-54168.png

Dabei seit: 23.04.2005
Beiträge: 3.987
Herkunft: Lügde

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wie kann ich da auch ein Datum eintragen lassen?
Hab das mal mit Varchar versucht, aber das Feld bleibt in der Datenbank immer leer, wenn ich ein Datum eingebe.

__________________

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von ShivaChewy: 24.08.2012 18:24.

24.08.2012 18:11 ShivaChewy ist offline Homepage von ShivaChewy Beiträge von ShivaChewy suchen Nehmen Sie ShivaChewy in Ihre Freundesliste auf Fügen Sie ShivaChewy in Ihre Kontaktliste ein
Nanni Nanni ist weiblich
Mitglied


images/avatars/avatar-54031.gif

Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien
Name: nennt mich Nanni

Themenstarter Thema begonnen von Nanni
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also - grundsätzlich sollte ein Datum auch mit varchar in der Datenbank eingetragen werden, vielleicht liegt der Fehler schon in der Datumsabfrage? Ansonsten gibts timestamp und, soweit ich weiß, date dafür (an Typen, statt varchar).

__________________
Hier nicht mehr aktiv.
Ich bin erreichbar über Mail, im VRH Treff sowie bei
Geisterreiter.de

24.08.2012 19:58 Nanni ist offline E-Mail an Nanni senden Homepage von Nanni Beiträge von Nanni suchen Nehmen Sie Nanni in Ihre Freundesliste auf Fügen Sie Nanni in Ihre Kontaktliste ein AIM-Name von Nanni: midnightlenii MSN Passport-Profil von Nanni anzeigen
brain_surgery brain_surgery ist weiblich
skype: energon-soup


images/avatars/avatar-52044.png

Dabei seit: 09.02.2005
Beiträge: 973
Herkunft: austria
Name: Nathalie

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Huhu!
Ich misch mich mal ein, sorry <3
Für ein Datum nimmst du am besten Timestamps und speicherst sie als INT in die Datenbank.
Eine kurze Google Suche kann dir sicher die notwendigen Funktionen liefern!
>Timestamp des derzeitigen Moments
>Timestamp zurück in ein Datum umwandeln

__________________
Da ich selten bis gar nie sehe, wenn man mir PNs schreibt, bitte über Skype melden, wenn es ein Anliegen gibt! smile

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von brain_surgery: 25.08.2012 12:40.

25.08.2012 12:39 brain_surgery ist offline E-Mail an brain_surgery senden Homepage von brain_surgery Beiträge von brain_surgery suchen Nehmen Sie brain_surgery in Ihre Freundesliste auf
Linda Krapf
Mitglied


Dabei seit: 10.07.2011
Beiträge: 134

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey smile

Danke erstmal für das tolle Tut!

Leider funktioniert es bei mir nicht ganz, wie gewünscht. Wenn ich versuche, das Formular ausgefüllt abzuschicken, erhalte ich immer die vorgegebene Fehlermeldung, dass die Daten nicht eingetragen werden konnten und vom eingebauten "MySQL-Fehler-Anzeiger":

code:
1:
Fehler: Column count doesn't match value count at row 1 


Hier mal meine flott aber korrekt(?) zusammengebastelten Dateien:

php:
1:
<?php echo "<form method="post" action="anmeldung2.php">  <table><tr><td valign="top">Name *</td><td><input name="Name" value="$Name">"; if($fehler1) { echo "$fehler1"; }  echo "</td></tr><tr><td valign="top">Alter *</td><td><input name="Alt" size="3" value="$Alt"> Jahre"; if($fehler2) { echo "$fehler2"; }  echo "</td></tr><tr><td valign="top">Email *</td><td><input name="Rufname" value="$Rufname">"; if($fehler3) { echo "$fehler3"; }  echo "</td></tr><tr><td valign="top">Geschlecht</td><td><input name="Geschlecht" value="$Geschlecht"> <td valign="top">Kurz</td><td><input name="Kurz" value="$Kurz">";  echo "</td></tr><tr><td valign="top">Rasse</td><td><input name="Rasse" value="$Rasse">";  echo "</td></tr><tr><td valign="top">Stockmas</td><td><input name="Stockmas" value="$Stockmas"> <td valign="top">Lebensnummer</td><td><input name="Lebensnummer" value="$Lebensnummer">";  echo "</td></tr><tr><td valign="top">Schwerpunkt</td><td><input name="Schwerpunkt" value="$Schwerpunkt"> <td valign="top">Training</td><td><textarea cols="40" rows="4" name="Training">$Training</textarea>";  echo "</td></tr><tr><td valign="top">Einsatz</td><td><input name="Einsatz" value="$Einsatz"> <td valign="top">Reiter</td><td><input name="Reiter" value="$Reiter">";  echo "</td></tr><tr><td valign="top">Z&uuml;chter</td><td><input name="Zuechter" value="$Zuechter"> <td valign="top">Vorbesitzer</td><td><input name="Vorbesitzer" value="$Vorbesitzer">";  echo "</td></tr><tr><td valign="top">Vater</td><td><input name="V" value="$V"> <td valign="top">Mutter</td><td><input name="M" value="$M">";  echo "</td></tr><tr><td valign="top">Vater-Vater</td><td><input name="VV" value="$VV"> <td valign="top">Vater-Mutter</td><td><input name="VM" value="$VM">";  echo "</td></tr><tr><td valign="top">Mutter-Vater</td><td><input name="MV" value="$MV"> <td valign="top">Mutter-Mutter</td><td><input name="MM" value="$MM">";  echo "</td></tr><tr><td valign="top">Verkauft</td><td><input name="verkauft" value="$verkauft"> <td valign="top">Neubesitzer</td><td><input name="Neubesitzer" value="$Neubesitzer"</td></tr>";  echo "</td></tr><tr><td colspan="2">Charakter</td></tr> <tr><td colspan="2"><textarea cols="80" rows="6" name="Charakter">$Charakter</textarea></td></tr> <tr><td colspan=2><P align=right><input type="Submit" value="Absenden"</td></tr></form></table>";  ?>


php:
1:
<?php   $Name $_POST['Name'];   $Rufname $_POST['Rufname'];   $Geschlecht $_POST['Geschlecht'];   $Kurz $_POST['Kurz'];   $Alt $_POST['Alt'];   $Rasse $_POST['Rasse'];   $Stockmas $_POST['Stockmas'];   $Lebensnummer $_POST['Lebensnummer'];   $Schwerpunkt $_POST['Schwerpunkt'];   $Training $_POST['Training'];   $Einsatz $_POST['Einsatz'];   $Reiter $_POST['Reiter'];   $Zuechter $_POST['Zuechter'];   $Vorbesitzer $_POST['Vorbesitzer'];   $V $_POST['V'];   $M $_POST['M'];   $VV $_POST['VV'];   $VM $_POST['VM'];   $MV $_POST['MV'];   $MM $_POST['MM'];   $verkauft $_POST['verkauft'];   $Neubesitzer $_POST['Neubesitzer'];   $Charakter $_POST['Charakter'];  if(preg_match("/[^a-zA-ZäöüÄÖÜß[:space:]]/"$name)) { $fehler1 "<br><FONT color=blue>Der Benutzername darf nur aus Buchstaben  und Leerzeichen bestehen.</FONT>"; }  include("datenbank.php"); $mitglieder mysql_query("SELECT * FROM Pferd WHERE Name = '$name'"); if(@mysql_num_rows($namen) > 0) { $fehler1 "<br><FONT color=blue>Der gewünschte Benutzername ist schon vergeben.</FONT>"; }  if(!$Name) { $fehler1 "<br><FONT color=blue>Bitte einen Benutzernamen angeben.</FONT>"; }  if(!$Alt) { $fehler2 "<br><FONT color=blue>Du hast kein Alter angegeben!</FONT>"; }  if(!$Rufname) { $fehler3 "<br><FONT color=blue>Du hast keine Mailadresse angegeben!</FONT>"; }  if(($fehler1) OR ($fehler2) OR ($fehler3)) {   include("anmeldung.php"); } else {   $eintrag "INSERT INTO `Pferd` ( `ID` , `Name` , `Rufname` , `Geschlecht` , `Kurz` , `Alt` , `Rasse` , `Stockmas` , `Lebensnummer` , `Schwerpunkt` , `Training` , `Einsatz` , `Reiter` , `Zuechter` , `Vorbesitzer` , `V` , `M` , `VV` , `VM` , `MV` , `MM` , `verkauft` , `Neubesitzer` , `Charakter` )  VALUES ('', '$Name', '$Rufname', '$Geschlecht', '$Kurz' '$Alt', '$Rasse', '$Stockmas', '$Lebensnummer' '$Schwerpunkt', '$Training', '$Einsatz', '$Reiter' '$Zuechter', '$Vorbesitzer', '$V', '$M' '$VV', '$VM', '$MV', '$MM' '$verkauft', '$Neubesitzer', '$Charakter')";   $eintragen mysql_query($eintrag);    if($eintragen == "true") {     echo "Du wurdest erfolgreich als Mitglied eingetragen"; } else {     echo "<FONT color=red>Leider konnten deine Daten nicht eingetragen werden, probier es bitte erneut</FONT>";     include("anmeldung.php");  echo " Fehler: " mysql_error(); // MySQL-Fehler anzeigen }   } ?>


Danke <3

__________________


Vom 10. bis zum 25. August nicht erreichbar.

13.04.2014 17:34 Linda Krapf ist offline E-Mail an Linda Krapf senden Beiträge von Linda Krapf suchen Nehmen Sie Linda Krapf in Ihre Freundesliste auf
*Liv
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hey! Magst du den Code so einstellen, dass er übersichtlich untereinander steht? Dann schaue ich mir das einmal an. Die Fehlereldung sagt eigentlich schon, dass sich da ein kleiner Fehlerteufel eingeschlichen hat smile smile
13.04.2014 18:17
Nanni Nanni ist weiblich
Mitglied


images/avatars/avatar-54031.gif

Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien
Name: nennt mich Nanni

Themenstarter Thema begonnen von Nanni
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich hab einen Fehler gefunden, an dieser Stelle hier:

php:
1:
2:
$mitglieder mysql_query("SELECT * FROM Pferd WHERE Name = '$name'");
if(@mysql_num_rows($namen) > 0) { [...] }


Du müsstest die Variablennamen noch aneinander anpassen, also entweder $mitglieder oder $namen für beide verwenden smile

__________________
Hier nicht mehr aktiv.
Ich bin erreichbar über Mail, im VRH Treff sowie bei
Geisterreiter.de

13.04.2014 19:15 Nanni ist offline E-Mail an Nanni senden Homepage von Nanni Beiträge von Nanni suchen Nehmen Sie Nanni in Ihre Freundesliste auf Fügen Sie Nanni in Ihre Kontaktliste ein AIM-Name von Nanni: midnightlenii MSN Passport-Profil von Nanni anzeigen
Linda Krapf
Mitglied


Dabei seit: 10.07.2011
Beiträge: 134

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke, das ist nett <3

Danke Nanni, leider wars das nicht =/

Wie mache ich das denn? Beabsichtigt war es nämlich natürlich nicht, dass der Code in einer Reihe steht *kopfkratz*

Ich kann den erweiterten Editor auf diesem Computer leider nicht nutzen, deswegen füge ich mal schnell den Code so ein, oder ist das auch noch zu wirr?


<?php
echo "<form method=\"post\" action=\"anmeldung2.php\">

<table><tr><td valign=\"top\">Name *</td><td><input name=\"Name\" value=\"$Name\">";
if($fehler1) { echo "$fehler1"; }

echo "</td></tr><tr><td valign=\"top\">Alter *</td><td><input name=\"Alt\" size=\"3\" value=\"$Alt\"> Jahre";
if($fehler2) { echo "$fehler2"; }

echo "</td></tr><tr><td valign=\"top\">Email *</td><td><input name=\"Rufname\" value=\"$Rufname\">";
if($fehler3) { echo "$fehler3"; }

echo "</td></tr><tr><td valign=\"top\">Geschlecht</td><td><input name=\"Geschlecht\" value=\"$Geschlecht\">
<td valign=\"top\">Kurz</td><td><input name=\"Kurz\" value=\"$Kurz\">";

echo "</td></tr><tr><td valign=\"top\">Rasse</td><td><input name=\"Rasse\" value=\"$Rasse\">";

echo "</td></tr><tr><td valign=\"top\">Stockmas</td><td><input name=\"Stockmas\" value=\"$Stockmas\">
<td valign=\"top\">Lebensnummer</td><td><input name=\"Lebensnummer\" value=\"$Lebensnummer\">";

echo "</td></tr><tr><td valign=\"top\">Schwerpunkt</td><td><input name=\"Schwerpunkt\" value=\"$Schwerpunkt\">
<td valign=\"top\">Training</td><td><textarea cols=\"40\" rows=\"4\" name=\"Training\">$Training</textarea>";

echo "</td></tr><tr><td valign=\"top\">Einsatz</td><td><input name=\"Einsatz\" value=\"$Einsatz\">
<td valign=\"top\">Reiter</td><td><input name=\"Reiter\" value=\"$Reiter\">";

echo "</td></tr><tr><td valign=\"top\">Z&uuml;chter</td><td><input name=\"Zuechter\" value=\"$Zuechter\">
<td valign=\"top\">Vorbesitzer</td><td><input name=\"Vorbesitzer\" value=\"$Vorbesitzer\">";

echo "</td></tr><tr><td valign=\"top\">Vater</td><td><input name=\"V\" value=\"$V\">
<td valign=\"top\">Mutter</td><td><input name=\"M\" value=\"$M\">";

echo "</td></tr><tr><td valign=\"top\">Vater-Vater</td><td><input name=\"VV\" value=\"$VV\">
<td valign=\"top\">Vater-Mutter</td><td><input name=\"VM\" value=\"$VM\">";

echo "</td></tr><tr><td valign=\"top\">Mutter-Vater</td><td><input name=\"MV\" value=\"$MV\">
<td valign=\"top\">Mutter-Mutter</td><td><input name=\"MM\" value=\"$MM\">";

echo "</td></tr><tr><td valign=\"top\">Verkauft</td><td><input name=\"verkauft\" value=\"$verkauft\">
<td valign=\"top\">Neubesitzer</td><td><input name=\"Neubesitzer\" value=\"$Neubesitzer\"</td></tr>";

echo "</td></tr><tr><td colspan=\"2\">Charakter</td></tr>
<tr><td colspan=\"2\"><textarea cols=\"80\" rows=\"6\" name=\"Charakter\">$Charakter</textarea></td></tr>
<tr><td colspan=2><P align=right><input type=\"Submit\" value=\"Absenden\"</td></tr></form></table>";

?>



___________________________________________________________________________
_____________________________



<?php
$Name = $_POST['Name'];
$Rufname = $_POST['Rufname'];
$Geschlecht = $_POST['Geschlecht'];
$Kurz = $_POST['Kurz'];
$Alt = $_POST['Alt'];
$Rasse = $_POST['Rasse'];
$Stockmas = $_POST['Stockmas'];
$Lebensnummer = $_POST['Lebensnummer'];
$Schwerpunkt = $_POST['Schwerpunkt'];
$Training = $_POST['Training'];
$Einsatz = $_POST['Einsatz'];
$Reiter = $_POST['Reiter'];
$Zuechter = $_POST['Zuechter'];
$Vorbesitzer = $_POST['Vorbesitzer'];
$V = $_POST['V'];
$M = $_POST['M'];
$VV = $_POST['VV'];
$VM = $_POST['VM'];
$MV = $_POST['MV'];
$MM = $_POST['MM'];
$verkauft = $_POST['verkauft'];
$Neubesitzer = $_POST['Neubesitzer'];
$Charakter = $_POST['Charakter'];

if(preg_match("/[^a-zA-ZäöüÄÖÜß[:spaceFreude ]/", $name)) { $fehler1 = "<br><FONT color=blue>Der Benutzername darf nur aus Buchstaben
und Leerzeichen bestehen.</FONT>"; }

include("datenbank.php");
$mitglieder = mysql_query("SELECT * FROM Pferd WHERE Name = '$name'");
if(@mysql_num_rows($mitglieder) > 0) { $fehler1 = "<br><FONT color=blue>Der gewünschte Benutzername ist schon vergeben.</FONT>"; }

if(!$Name) { $fehler1 = "<br><FONT color=blue>Bitte einen Benutzernamen angeben.</FONT>"; }

if(!$Alt) { $fehler2 = "<br><FONT color=blue>Du hast kein Alter angegeben!</FONT>"; }

if(!$Rufname) { $fehler3 = "<br><FONT color=blue>Du hast keine Mailadresse angegeben!</FONT>"; }

if(($fehler1) OR ($fehler2) OR ($fehler3)) {
include("anmeldung.php"); } else {
$eintrag = "INSERT INTO `Pferd` ( `ID` , `Name` , `Rufname` , `Geschlecht` , `Kurz` , `Alt` , `Rasse` , `Stockmas` , `Lebensnummer` , `Schwerpunkt` , `Training` , `Einsatz` , `Reiter` , `Zuechter` , `Vorbesitzer` , `V` , `M` , `VV` , `VM` , `MV` , `MM` , `verkauft` , `Neubesitzer` , `Charakter` )
VALUES ('', '$Name', '$Rufname', '$Geschlecht', '$Kurz' '$Alt', '$Rasse', '$Stockmas', '$Lebensnummer' '$Schwerpunkt', '$Training', '$Einsatz', '$Reiter' '$Zuechter', '$Vorbesitzer', '$V', '$M' '$VV', '$VM', '$MV', '$MM' '$verkauft', '$Neubesitzer', '$Charakter')";
$eintragen = mysql_query($eintrag);
if($eintragen == "true") {
echo "Du wurdest erfolgreich als Mitglied eingetragen"; } else {
echo "<FONT color=red>Leider konnten deine Daten nicht eingetragen werden, probier es bitte erneut</FONT>";
include("anmeldung.php");
echo " Fehler: " . mysql_error(); // MySQL-Fehler anzeigen
}
}
?>

__________________


Vom 10. bis zum 25. August nicht erreichbar.

13.04.2014 19:27 Linda Krapf ist offline E-Mail an Linda Krapf senden Beiträge von Linda Krapf suchen Nehmen Sie Linda Krapf in Ihre Freundesliste auf
Seiten (3): [1] 2 3 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Gegen Bilderklau - Das Original » Design, Website, Copyright » Homepagehilfe » Tutorials und FAQ » [PHP & MySQL] Automatisches Eintragen mit MySQL

Impressum

Forensoftware: Burning Board, entwickelt von WoltLab GmbH