| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

16-07-2009, 15:51
|
|
sublevel
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 7
|
|
Array aus Formular in DB speichern > fatal error
Hallo zusammen,
ich habe ein Problem, das ich leider nicht alleine lösen kann. Ich habe ein Formular mit dynamischen Formularfeldern – also mit der Möglichkeit auf Mausklick weitere Formularfelder hinzuzufügen. Das ganze wird auch korrekt übertragen nur bin ich nicht in der Lage das auch abzuspeichern. Mein Code dazu sieht aus wie folgt:
PHP-Code:
$objFeed = $_POST[]; foreach ($objFeed->items as $arrItem) {
$a = $arrItem['a']; $b = $arrItem['b']; $c = $arrItem['c']; $update = "INSERT INTO ngn (`id` , `inputa` , `inputb` , `inputc`) VALUES ('', '$a', '$b', '$c');"; $sqlupdate = mysql_query($update); }
Das Ergebnis ist: Fatal error: Cannot use [] for reading in /kunden/domain.de/webseiten/test/save_array.php on line 10
Ich vermute mal schwer dass das hier $objFeed = $_POST[]; Unsinn ist, habe aber nicht den geringsten Plan wie es denn korrekt sein müsste.
Ich wäre sehr dankbar wenn jemand helfen kann,
Viele Grüße
Sub
|

16-07-2009, 15:58
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.178
|
|
PHP-Code:
$objFeed = $_POST;
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

16-07-2009, 16:05
|
|
sublevel
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 7
|
|
vielen dank schon mal! Der Fehler taucht jetzt nicht mehr auf, dafür meldet der Server nun:
Warning: Invalid argument supplied for foreach() in /kunden/domain.de/webseiten/test/save_array.php on line 11
dort steht:
PHP-Code:
foreach ($objFeed->items as $arrItem) {
|

16-07-2009, 16:06
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.178
|
|
Was ergibt denn ein
PHP-Code:
print_r($_POST);
print_r($objFeed);
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

16-07-2009, 16:09
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.455
|
|
Zitat:
Zitat von sublevel
Ich vermute mal schwer dass das hier $objFeed = $_POST[]; Unsinn ist
|
Ja, und zwar schon auf der linken Seite vom Gleichheitszeichen.
Wenn du mit $_POST arbeiten willst, dann solltest du das tun - Umkopiererei in andere Variablen ist im Normalfall nicht nötig.
Zitat:
Warning: Invalid argument supplied for foreach() in /kunden/domain.de/webseiten/test/save_array.php on line 11
foreach ($objFeed->items as $arrItem) {
|
$_POST ist ein Array, und wenn $objFeed jetzt das gleiche ist - was zum Geier willst du dann dort mit dem Operator zum Zugriff auf Methoden/Eigenschaften von Objekten?
Wenn du nicht weisst, wie man mit Arrays umgeht, dann schlage ich vor, du liest das erst mal im Manual nach.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-07-2009, 16:15
|
|
sublevel
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 7
|
|
@kropff: das ergibt
Array ( [a] => Array ( [0] => inhalt 1 [1] => inhalt 2 [2] => inhalt 3 ) [b] => Array ( [0] => 12 [1] => 12 [2] => 12 ) [c] => Array ( [0] => 81 [1] => 81 [2] => 81 ) )
Array ( [a] => Array ( [0] => inhalt 1 [1] => inhalt 2 [2] => inhalt 3 ) [b] => Array ( [0] => 12 [1] => 12 [2] => 12 ) [c] => Array ( [0] => 81 [1] => 81 [2] => 81 ) )
das entspricht dann auch meinen eingaben (
inhalt1, 1, 81
inhalt2, 2, 81
inhalt 3, 12, 81)
@wahsaga
damit magst du recht haben – aber wenn ich komplett verstünde was ich da tue, dann müsste ich nicht nachfragen. Ich verstehe das ganze Thema nicht ausreichend (und ich finde nicht dass das ein Grund ist sich nicht daran zu versuchen) und versuche durch eure besseren Beispiele zu lernen.
|

16-07-2009, 16:40
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.455
|
|
Zitat:
Zitat von sublevel
damit magst du recht haben – aber wenn ich komplett verstünde was ich da tue, dann müsste ich nicht nachfragen.
|
Wer sich über Grundlagen informiert, bevor er loslegt, muss auch nicht wegen solchem Kleinkram fragen.
Also, los:
http://www.php.net/manual/en/language.types.array.php
http://tut.php-quake.net/de/array.html
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-07-2009, 17:11
|
|
sublevel
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 7
|
|
vielen dank für die links. ich verstehe sie leider dennoch unzureichend. Wenn Du glaubst, dass es besser wäre wenn ich mich da selber durchqäulen muss dann ist das natürlich dein gutes recht ;-). ich verstehs nur einfach nicht. wenn mir also jemand konkret an meinem beispiel sagen kann wie man das anders machen kann – vielen dank!
|

16-07-2009, 17:39
|
|
mkb_webprint
Registrierter Benutzer
|
|
Registriert seit: May 2009
Beiträge: 53
|
|
Zitat:
Zitat von sublevel
PHP-Code:
$a = $arrItem['a']; $b = $arrItem['b']; $c = $arrItem['c']; $update = "INSERT INTO ngn (`id` , `inputa` , `inputb` , `inputc`) VALUES ('', '$a', '$b', '$c');"; $sqlupdate = mysql_query($update); }
|
Laut deinem Post zur Ausgabe von den print_r()'s wird es eh darin enden, das der Query ein schönes 'Array()' in deine Datenbankfelder schreibt anstatt der Werte die du eingegeben hast...
Gruß Björn
|

16-07-2009, 17:50
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.178
|
|
Und vorher probiert du mal das aus:
PHP-Code:
foreach ($_POST as $arrItem => $value)
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

16-07-2009, 18:29
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.455
|
|
Zitat:
Zitat von sublevel
vielen dank für die links. ich verstehe sie leider dennoch unzureichend.
|
Was verstehst du denn nicht?
Zitat:
|
Wenn Du glaubst, dass es besser wäre wenn ich mich da selber durchqäulen muss dann ist das natürlich dein gutes recht ;-)
|
So wie deins, dich auf "ich nix verstehen" zu berufen und darauf zu warten, dass dir jemand die Basics noch mal in Privatunterricht erklärt ... nur ich weiss nicht, ob ich an deiner Stelle so lange warten wollen würde.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

16-07-2009, 19:08
|
|
sublevel
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 7
|
|
@wahsaga
ich habe zu große Defizite auf das gesamte (php/mysql) bezogen. was ich kann ist, mit ein wenig Hilfe bestimmte Lösungen aus bereits gemachten Erfahrungen zu erschaffen.
Programmieren ist nicht mein beruf und ich verdiene damit auch kein Geld (nur damit hier nicht der Anschein entsteht ich würde andere Leute meinen Job erledigen lassen). ich werde wohl nie die Zeit finden, das Thema komplett zu verstehen. ich habe aber von Zeit zu Zeit das Problem dass ich (pro bono!) ein paar Zeilen PHP erstellen soll und dabei eben doch oft an meine Grenzen stoße. Diese verschieben sich natürlich – aber nur sehr langsam. ich hatte gehofft hier für dieses konkrete Problem eine konkrete Lösung zu finden. Wenn ich mir die vorgeschlagenen Seiten ankucke dann stolpere ich über so viele Inhalte, dass ich es mir kaum vorstellen kann in naher Zukunft eine Lösung für mein Problem zu finden. Mir fällt es auch leichter nachzuvollziehen und nachzuschlagen, wenn ich an meiner speziellen Anwendung sehe, wie das korrekt gelöst wird
danke,
sub
|

16-07-2009, 21:25
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.178
|
|
Zitat:
Zitat von sublevel
ich hatte gehofft hier für dieses konkrete Problem eine konkrete Lösung zu finden.
|
Hir gibt es leider nur Hilfe zur Selbsthilfe. Wenn du willst, dann verschiebe ich das zur Projekthilfe, da du hier keine Lösung präsentiert bekommst. Auch wenn es in deinem Fall nicht unbedingt zutrifft, so sind hier Codeschnorrer nicht gerne gesehen.
Ansonsten empfehle ich dir dieses Machwerk. Wurde extra für Anfänger wie dich gemacht.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

17-07-2009, 12:35
|
|
sublevel
Registrierter Benutzer
|
|
Registriert seit: Jul 2009
Beiträge: 7
|
|
ok*– das verstehe ich. ich danke dir für deine hilfe (bzw. allen). auch natürlich für den link. ich habe mir die halbe nacht damit um die ohren geschlagen und tatsächlich eine lösung gefunden wie es funktioniert. ob die lösung effektiv ist weiß ich allerdings nicht ; )
lg
sub
|

17-07-2009, 13:19
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.178
|
|
Wenn du eine Lösung gefunden hast, dann poste sie doch bitte. Falls jemand ein ähnliches Problem hat (und wider Erwarten die Sufu nutzt).
Zitat:
|
ob die lösung effektiv ist weiß ich allerdings nicht ; )
|
Ach keine Angst, dann werden wir uns schon melden  .
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|