Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Eintragen in Datenbank (https://www.gegen-bilderklau.net/thread.php?threadid=150806)


Geschrieben von Leila am 21.02.2009 um 15:56:

  Eintragen in Datenbank

So, ich hab nen neuen Steckie für RGE gecodet. Der Steckbrief funktioniert wunderbar, jetzt hab Formular zum eintragen in die Datenbank gebastelt und des klappt nicht.
Ich habs ja schon für alles mögliche benutzt und bislang hat das Eintragen in die Datenbank immer funktioniert, aber jetzt kA ob ich ein Brett vorm Kopf habe oder was los ist, es klappt nicht...
Datenbankverbindung ist die gleiche, klappt auch für alles, Tabelle heißt auch wirklich "pferd" und ich habe die Spalten und die Sachen, die ich im Formular angebe doppelt und dreifach geprüft...
Fehlerausgabe ist das, was ich im PHP-Code als allerletztes definiert habe, also "Fehler" und dann wieder das Formular drunter, also stimmt was beim Eintragen in die DB nicht.

code:
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:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
<form method="POST" action="pferd_send.php">
 <b>Der ganze Name</b> mit Kürzeln<br/>
 <input type="text" name="name" size="26" maxlength="255"><p/>
 <b>Rasse</b><br/>
 <input type="text" name="rasse" size="26" maxlength="255"><p/>
 <b>Geschlecht</b><br/>
 <select name="geschlecht">
  <option>Hengst</option>
  <option>Stute</option>
  <option>Wallach</option>
 </select><p/>
 <b>Jahrgang</b> Nur das Jahr, wenn es heißt v. RGE dann mit einem - davor<br/>
 <input type="text" name="jahr" size="26" maxlength="3"><p/>
 <b>Stockmaß</b> in einer 3stelligen Zahl ohne ,<br/>
 <input type="text" name="stm" size="26" maxlength="3"><p/>
 <b>Farbe</b><br/>
 <input type="text" name="farbe" size="26" maxlength="255"><p/>
 <b>Charakter</b> bitte in einem Text, selbst wenn im Steckie mehrere Texte sind<br/>
 <textarea rows="2" name="charakter" cols="21"></textarea><p/>
 <hr>
 <b>Ausbildung</b><br/>
 <input type="text" name="ausbildung" size="26" maxlength="255"><p/>
 <b>Potenzial</b><br/>
 <input type="text" name="potenzial" size="26" maxlength="255"><p/>
 <hr>
 <b>Züchter</b><br/>
 <input type="text" name="zuechter" size="26" maxlength="255"><p/>
 <b>Decktaxe</b><br/>
 <input type="text" name="taxe" size="26" maxlength="4"><p/>
 <b>Zulassung</b> Einfach alles aufgelistete hintereinander weg mit , getrennt<br/>
 <input type="text" name="zulassung" size="26" maxlength="255"><p/>
 <b>Status</b><br/>
 <select name="status">
  <option>Fohlen</option>
  <option>Jungpferd</option>
  <option>Turniereinsatz</option>
  <option>Zuchteinsatz</option>
 </select><p/>
 <b>Abstammung</b> Alle einzeln ausfüllen<br/>
 <table>
 <tr>
  <td rowspan=4>
   <input type="text" name="v" size="26" maxlength="255" value="V">
  </td>
  <td rowspan=2>
   <input type="text" name="vv" size="26" maxlength="255" value="VV">
  </td>
  <td>
   <input type="text" name="vvv" size="26" maxlength="255" value="VVV">
  </td>
 </tr>
 <tr>
  <td>
   <input type="text" name="vvm" size="26" maxlength="255" value="VVM">
  </td>
 </tr>
 <tr>
  <td rowspan=2>
   <input type="text" name="vm" size="26" maxlength="255" value="VM">
  </td>
  <td>
   <input type="text" name="vmv" size="26" maxlength="255" value="VMV">
  </td>
 </tr>
 <tr>
  <td>
   <input type="text" name="vmm" size="26" maxlength="255" value="VMM">
  </td>
 </tr>
 <tr>
  <td rowspan=4>
   <input type="text" name="m" size="26" maxlength="255" value="M">
  </td>
  <td rowspan=2>
   <input type="text" name="mv" size="26" maxlength="255" value="MV">
  </td>
  <td>
   <input type="text" name="mvv" size="26" maxlength="255" value="MVV">
  </td>
 </tr>
 <tr>
  <td>
   <input type="text" name="mvm" size="26" maxlength="255" value="MVM">
  </td>
 </tr>
 <tr>
  <td rowspan='2'>
   <input type="text" name="mm" size="26" maxlength="255" value="MM">
  </td>
  <td>
   <input type="text" name="mmv" size="26" maxlength="255" value="MMV">
  </td>
 </tr>
 <tr>
  <td>
   <input type="text" name="mmm" size="26" maxlength="255" value="MMM">
  </td>
 </tr>
</table>
 <b>Titel</b> Sofern vorhanden<br/>
 <input type="text" name="titel" size="26" maxlength="255"><p/>
 <hr>
 <b>Besitzer</b><br/>
 <input type="text" name="besi" size="26" maxlength="255"><p/>
 <b>Vorbesitzer</b><br/>
 <input type="text" name="vorbesi" size="26" maxlength="255"><p/>
 <b>Turnierreiter</b><br/>
 <input type="text" name="turnier" size="26" maxlength="255"><p/>
 <b>Fotoanzahl</b><br/>
 <input type="text" name="foto" size="26" maxlength="2"><p/>
 <b>©</b><br/>
 <input type="text" name="copyright" size="26" maxlength="255"><p/>
 <b>Steht das Pferd auf RGE?</b><br/>
 <select name="rge">
  <option value="1">ja</option>
  <option value="2">nein</option>
 </select><p/>
 
 
  <p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" 

name="B2"></p>
</form>


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:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
<?php

   include('datenbank.php');

   $name $_POST['name'];
   $rasse $_POST['rasse'];
   $geschlecht $_POST['geschlecht'];
   $jahr $_POST['jahr'];
   $stm $_POST['stm'];
   $farbe $_POST['farbe'];
   $charakter $_POST['charakter'];
   $ausbildung $_POST['ausbildung'];
   $potenzial $_POST['potenzial'];
   $zuechter $_POST['zuechter'];
   $taxe $_POST['taxe'];
   $zulassung $_POST['zulassung'];
   $status $_POST['status'];
   $v $_POST['v'];
   $vv $_POST['vv'];
   $vvv $_POST['vvv'];
   $vvm $_POST['vvm'];
   $vm $_POST['vm'];
   $vmv $_POST['vmv'];
   $vmm $_POST['vmm'];
   $m $_POST['m'];
   $mv $_POST['mv'];
   $mvv $_POST['mvv'];
   $mvm $_POST['mvm'];
   $mm $_POST['mm'];
   $mmv $_POST['mmv'];
   $mmm $_POST['mmm'];
   $titel $_POST['titel'];
   $besi $_POST['besi'];
   $vorbesi $_POST['vorbesi'];
   $turnier $_POST['turnier'];
   $foto $_POST['foto'];
   $copyright $_POST['copyright'];
   $rge $_POST['rge'];

   $abstammung "
<table width=100%>
 <tr>
  <td rowspan=8 width=25% class='links'>
   $name
  </td>
  <td rowspan=4 width=25% class='links'>
   $v
  </td>
  <td rowspan=2 width=25% class='links'>
   $vv
  </td>
  <td width=25% class='links'>
   $vvv
  </td>
 </tr>
 <tr>
  <td class='links'>
   $vvm
  </td>
 </tr>
 <tr>
  <td rowspan=2 class='links'>
   $vm
  </td>
  <td class='links'>
   $vmv
  </td>
 </tr>
 <tr>
  <td class='links'>
   $vmm
  </td>
 </tr>
 <tr>
  <td rowspan=4 class='links'>
   $m
  </td>
  <td rowspan=2 class='links'>
   $mv
  </td>
  <td class='links'>
   $mvv
  </td>
 </tr>
 <tr>
  <td class='links'>
   $mvm
  </td>
 </tr>
 <tr>
  <td rowspan=2 class='links'>
   $mm
  </td>
  <td class='links'>
   <!--MMV-->
   $mmv
  </td>
 </tr>
 <tr>
  <td class='links'>
   $mmm
  </td>
 </tr>
</table>";

   $eintrag "INSERT INTO `pferd` ( `name` , `rasse` , `geschlecht` , `jahr` , `stm` , `farbe` , `charakter` , `ausbildung` , `potenzial` , `zuechter` , 

`taxe` , `zulassung` , `status` , `abstammung` , `titel` , `besi` , `vorbesi` , `turnier` , `foto` , `copyright` , `rge` )
   VALUES ('$name' , '$rasse' , '$geschlecht' , '$jahr' , '$stm' , '$farbe' , '$charakter' , '$ausbildung' , '$potenzial' , '$zuechter' , '$taxe' , 

'$zulassung' , '$status' , '$abstammung' , '$titel' , '$besi' , '$vorbesi' , '$turnier' , '$foto' , '$copyright' , '$rge' )";

      $eintragen mysql_query($eintrag);

      if($eintragen==true) {
         echo "Pferd erfolgreich eingetragen!<br/>
               <a href='pferd.php'>nächstes</a>";
      } else {
         echo "Fehler!";
         include('pferd.php');
      }

?>

Wäre für Hilfe dankbar.

Lg
Leila



Geschrieben von Maina am 21.02.2009 um 16:06:

 

Das Problem hab ich auch öfters, vorallem mit vielen Feldern :x

Da ich deine Tabellenstruktur nicht kenne, kann ich dir da nicht weiterhelfen, allerdings 'nen kleinen Tipp geben:

Trag ganz manuell über phpMyAdmin x-beliebige Daten in die Tabelle ein (am besten jeweils deinen Variablennamen, zb $name) und kopier dann den SQL-Befehl, den er erzeugt (kommt meistens ganz oben).

php:
1:
2:
$eintrag "HIER KOMMT DER SQL-BEFEHL REIN";
$eintragen mysql_query($eintrag);


So haste dann schon mal keine Fehler von der Struktur her (Feld ausgelassen, falsch geschrieben, blabla.).



Geschrieben von Leila am 21.02.2009 um 18:54:

 

wie gesagt, die Struktur hab ich genau so aus dem Tutorial dazu hier bei GB genommen (hab mich natürlich entsprechend eingelesen). Seitdem hab ichs nie verändert, deswegen wüsste ich nicht was dran falsch sein sollte.



Geschrieben von Nanni am 21.02.2009 um 19:40:

 

Hast du die Tabellenfelder in der Datenbak auch klein geschrieben?
Mehr seh ich so beim drüberschauen auch nicht.
LG Nanni



Geschrieben von Leila am 21.02.2009 um 21:37:

 

jap, wie gesagt, das hab ich alles doppelt und dreifach geprüft.



Geschrieben von Leila am 21.02.2009 um 22:29:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'links'> RGE Desmond <' at line 2

RGE Desmond ist halt das, was als $name eingelesen wird.



Geschrieben von Leila am 22.02.2009 um 12:19:

 

Hau mich, schlag mich, aber
wie meinst du das?



Geschrieben von Leila am 22.02.2009 um 18:32:

 

naja, ich hatte die Tabelle vorher auch schon als Variable drin, allerdings hab ich das da im Formular schon direkt als Tabellencode eingegeben, das hat fehlerfrei funktioniert. Jetzt wird die Tabelle halt erst erstellt, wenn man die einzelnen Daten für die Zellen angegeben hat. Ich seh da kaum nen Unterschied, ganz ehrlich...
Da kann ich mir den Code für die Abstammunstabelle genausogut mit noch ner anderen PHP-Datei erstellen und ausgeben lassen und das dann ins Formular eintragen, in meinen Augen ändert das nichts.



Geschrieben von Leila am 22.02.2009 um 19:00:

 

aso, ok, danke smile



Geschrieben von Leila am 22.02.2009 um 22:54:

 

werden nicht entfernt -.-



Geschrieben von Leila am 22.02.2009 um 23:20:

 

wo genau? In der Datei wo die ganzen Datenbankinhalte dann aufgerufen werden?


Forensoftware: Burning Board, entwickelt von WoltLab GmbH