Eintragen in die DB funktioniert nicht
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 11:28
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Hallo Leute! Ich wollte mit Hilfe eines Tutorials (http://www.phpbox.de/php_tutorials/mysql1.php) ausprobieren, etwas in die DB mit einer Seite zu schreiben... 1) Das Erstellen der Datenbank Tabellen hat funktioniert 2) Das Eintragen eines Datensatzes hat leider nicht funktioniert Code der Seite zum Eintragen (insert.php): Code <?php 3) Das Auslesen der Datensätze würde funktionieren, wenn das Eintragen funktionieren würde (ich weiß, dass das auslesen funktionieren wird, weil ich einen Datensatz über die DB eingetragen habe, und das Auslesen funktioniert hat) 4) Löschen und bearbeiten funktioniert nicht (ist aber nicht so tragisch). Erkennt jemand in der insert.php einen Fehler? Wäre euch sehr dankbar über Hilfe! Einen schönen Tag noch und liebe Grüße, Columbo =) PS: http://www.columbo.bplaced.net/insert.php (insert.php) |
|
|
SC-Ad-Bot | Advertisement |
| |
emblinux |
Geschrieben am 06.12.2010 00000012 12:01
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 5 months 1 weeks 7 days 15 hours 6 minutes 28 seconds |
Abgesehen, das der komplette Aufbau dieser Datei nichts timmt, musst du natürlich darauf achten, das du auch die Daten, die per FOrmular per GET oder POST gesendet werden, richtig ausliest. Heutzutage ist bei den meisten Server die Eistellung register_globals auf OFF gestellt, aus Sicherheitsgründen. Somit ergibt sich für das Auslesen, des Buttons nicht $button sondern $_POST['button']. Schau dir einfach mal eine andere Datei an, die ähnliche Funktionalität aufweist. |
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 12:13
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Danke emblinux!!! ![]() Jetzt funktioniert das Absenden, danke! Aber leider werden nur 2 leere Felder (auch bei Eingabe) abgesendet ![]() Und beim Auslesen steht dann natürlich auch alles leer: http://www.columbo.bplaced.net/fetcharr.php Auf jeden Fall mal danke, schönen Tag noch und liebe Grüße, Columbo ![]() |
|
|
emblinux |
Geschrieben am 06.12.2010 00000012 12:21
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 5 months 1 weeks 7 days 15 hours 6 minutes 28 seconds |
Hast du denn die anderen beiden Felder für die Eingabe auch entsprechend verwendet ? Also $_POST['title'] und $_POST['interpret'] ? Dann sollte alles richtig funktionieren.
|
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 12:26
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Zählt das auch zu register_global? Wo müsste ich dann $_POST['title'] und $_POST['interpret'] einfügen? Ist ein HTML-Zeug drin, wie müsste ich es dann auf PHP abändern? Code <form method="post" action="insert.php"> Nochmals vielen Dank! =) |
|
|
emblinux |
Geschrieben am 06.12.2010 00000012 12:31
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 5 months 1 weeks 7 days 15 hours 6 minutes 28 seconds |
REGISTER_GLOBALS bezieht sich auf alle Variablen, die per Formular oder auch per LINK gesendet werden. $_POST['title'] und $_POST['interpret'] musst du dort einsetzen, wo du lesend auf diese Variablen zugreifen möchtest. Also nicht da, wo das Formular ist, sondern dort wo du diese Variablen verwendest. Ich sehe dir fehlen noch grundlegende Kenntnisse. Bitte beschäftige dich mal eingehen mit HTML-Formularen und Co. Dazu habe ich bei den Weblinks auch einen passenden Link gepostet, der grundlegende Dinge im Umgang mit PHP, Formularen und Datenbanken erklärt. Denn es macht wenig Sinn, Codeschnipsel zu verwenden, wenn man nicht wirklich weiß, was genau diese bewirken. |
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 12:41
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
:( Meinst du das hier? Code <td><?PHP echo $_POST['interpret'];?></td> Jetzt so hatte ich bei 1 mal Daten absenden ungefähr 70 Einträge... Mit dem hier habe ich es auch schon versucht: http://www.phpfusion-supportclub.de/weblinks.php?cat_id=4&weblink_id=23 Kam aber auch nichts dabei raus...:( |
|
|
emblinux |
Geschrieben am 06.12.2010 00000012 13:06
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 5 months 1 weeks 7 days 15 hours 6 minutes 28 seconds |
Genau diesen Weblink meinte ich. Dieser ist sehr gut, nur muss man sich dafür etwas Zeit nehmen, damit man auch alles versteht. Eigentlich muß deine PHP-Datei wie folgt aussehen: Code <?php Das sollte eigentlich funktionieren. |
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 13:25
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Danke emblinux! :) Gibt aber leider noch einen Fehler in Zeile 4: Fatal error: Can't use function return value in write context in /users/columbo/www/insert.php on line 4 [geshi=php] if ( isset($_POST('button')) && $_POST('button') =="Speichern")[/geshi] http://www.columbo.bplaced.net/insert.php |
|
|
emblinux |
Geschrieben am 06.12.2010 00000012 13:32
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 5 months 1 weeks 7 days 15 hours 6 minutes 28 seconds |
ups, hab ich mich doch glatt vertippt. Da hättest du aber auch selbst drauf kommen können oder ? ;) Die Zeile muss natürlich so lauten: Code if ( isset($_POST['button']) && $_POST['button'] =="Speichern" ) |
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 13:45
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Zitat ups, hab ich mich doch glatt vertippt. Da hättest du aber auch selbst drauf kommen können oder ? ;) Oh, die ( ) gegen [ ] austauschen - ich sollte mehr auf die Klammern achten :P Danke eintragen und auslesen funktioniert jetzt!!! DANKE!!! =)=) Ähm... jetzt wäre nur noch das Problem mit dem editieren und löschen ... ;) an der delete.php habe ich schon etwas rumgebastelt, doch dies hat dann doch nicht ganz funktioniert - also hab ichs wieder rückgängig gemacht... Update.php (Editieren): Code <!-update.php-> * $button hab ich schon mal auf $_POST['button'] geändert ;) Delete.php (Löschen): Code <!-delete.php-> LG Columbo Und danke an emblinux=) Bearbeitet von Columbo am 06.12.2010 00000012 13:46 |
|
|
emblinux |
Geschrieben am 06.12.2010 00000012 13:58
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 5 months 1 weeks 7 days 15 hours 6 minutes 28 seconds |
update.php Code <?php Die delete.php solltest du jetzt aber alleine hinbekommen. |
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 14:07
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Gibt da aber leider noch etwas in der update.php ... Wenn man ein Feld ändert, wird das andere auch geändert, und zwar auf den gleichen Namen. http://www.columbo.bplaced.net/fetcharr.php |
|
|
emblinux |
Geschrieben am 06.12.2010 00000012 14:12
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 5 months 1 weeks 7 days 15 hours 6 minutes 28 seconds |
Ahja, ein typische Copy&Paste-Fehler. ändere einfach die Zeile Code $titel = $_POST['interpret']; Code $titel = $_POST['titel']; Auch das hätest du beim genaueren hinsehen doch selbst feststellen können oder ? *macho* |
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 14:21
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
*dau* In der delete.php habe ich Zeile 12 geändert und 11 auskommentiert, ist aber noch ein Fehler drin... Code <!-delete.php-> |
|
|
emblinux |
Geschrieben am 06.12.2010 00000012 14:26
|
![]() Seiten Administrator ![]() Beiträge: 3813 Registriert am: 04.10.08 Fusioneer: 16 years 5 months 1 weeks 7 days 15 hours 6 minutes 28 seconds |
Code $id = $_GET['id']; Nur weil heute Nikolaus ist. ;) Und bitte schau dir den Weblink, den ich die empfohlen habe, mal etwas genauer an und versuche auch die Sachen zu verstehen. Solche Dinge werden dir öfter vor die Füße fallen, wenn du Webseiten entwickelst. |
|
|
Columbo |
Geschrieben am 06.12.2010 00000012 14:32
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Danke!!! ![]() ![]() ![]() Funktioniert jetzt alles - ich hätte das nicht alleine hinbekommen. Danke!! *emblinux ein Abzeichen geb ![]() ![]() Wünsche noch einen schönen Nikolaus ![]() |
|
|
Columbo |
Geschrieben am 14.12.2010 00000012 13:12
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Hallo, da wäre noch etwas: Wie macht man ein mehrzeiliges Eingabefeld? Mit textarea habe ich es schon probiert in der Eingabeseite aber leider funktioniert es damit nicht ![]() Hat wer eine Idee? |
|
|
Columbo |
Geschrieben am 14.12.2010 00000012 14:04
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
funktioniert aber leider nicht einzubauen *Edit: Habs selbst hingekriegt Bearbeitet von Columbo am 14.12.2010 00000012 15:01 |
|
|
Columbo |
Geschrieben am 14.12.2010 00000012 15:02
|
![]() Mitglied ![]() Beiträge: 91 Registriert am: 25.10.10 Fusioneer: 14 years 4 months 2 weeks 17 days 12 hours 41 minutes 11 seconds |
Habs jetzt schon selbst hingekriegt, bin kurz danach draufgekommen dass ich innerhalb von echo ' '; auch ' verwendet habe. Also einfach ' wegmachen und durch " ersetzen. |
|
Springe ins Forum: |