Automatisches Eintragen mit MySQL |
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
|
|
Automatisches Eintragen mit MySQL |
|
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
LG Nanni
__________________
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Nanni: 13.06.2012 20:27.
|
|
28.01.2012 01:10 |
|
|
Gretchen12
Mitglied
Dabei seit: 11.06.2012
Beiträge: 14
|
|
erstmal tolles tut
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 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
Themenstarter
|
|
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... :/
__________________
|
|
12.06.2012 20:39 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
Themenstarter
|
|
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
Jedenfalls gut, dass du Bescheid sagst!
__________________
|
|
12.06.2012 23:35 |
|
|
Gretchen12
Mitglied
Dabei seit: 11.06.2012
Beiträge: 14
|
|
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 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
Themenstarter
|
|
In Zeile 13 (Anmeldung.php) fehlt dir
ehe du mit der Ausgabe der Tabelle weiter machst.
Und Kathy, für das nicht-eintragen sehe ich eigentlich keinen Fehler.. :/
__________________
|
|
13.06.2012 14:24 |
|
|
Gretchen12
Mitglied
Dabei seit: 11.06.2012
Beiträge: 14
|
|
juhu jetzt zeigts wenistens was an
wenn ichs allerdings abschicken will kommt bei allen 3 sachen ,,bitte geb xy an" obwohl ich alles eingetragen hab
__________________
|
|
13.06.2012 14:29 |
|
|
Oli
Server-Administrator
Dabei seit: 13.06.2010
Beiträge: 1.540
|
|
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:
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 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
Themenstarter
|
|
Oh, ja, das = hab ich wohl beim Lesen automatisch verdoppelt
Habs im Tut geändert.
Und bitte Kathy, freut mich dass es dir genutzt hat (:
__________________
|
|
13.06.2012 20:29 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
Themenstarter
|
|
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).
__________________
|
|
24.08.2012 19:58 |
|
|
Linda Krapf
Mitglied
Dabei seit: 10.07.2011
Beiträge: 134
|
|
Hey
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ü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 |
|
|
*Liv unregistriert
|
|
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
|
|
13.04.2014 18:17 |
|
|
Nanni
Mitglied
Dabei seit: 25.01.2007
Beiträge: 11.260
Herkunft: Wien Name: nennt mich Nanni
Themenstarter
|
|
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
__________________
|
|
13.04.2014 19:15 |
|
|
Linda Krapf
Mitglied
Dabei seit: 10.07.2011
Beiträge: 134
|
|
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ü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äöüÄÖÜß[: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($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 |
|
|
|
|
|
Impressum
|