Antworten auf deine Fragen:
Neues Thema erstellen

Datenbank-Array wird nicht befüllt

SWFP

SWFP Mitglied

Hi, ich gebe über folgendes Formular

PHP:
<form action="podcast_data.php?action=write" method="post">
<fieldset>
<legend>Podcast-Daten</legend>
<label for="title">Podcasttitel: </label><input type="text" name="title"><br />
<label for="short">Abk&uuml;rzung/Interne Bezeichnung: </label><input type="text" name="short"><br />
<label for="beschreibung">Podcastbeschreibung: </label><input type="text" name="beschreibung"><br />
<label for="datum">Aufnahmedatum: </label><input type="text" name="datum"><br />
<label for="dateiname">Name der Datei <i>(ohne Dateiendung und Pfad)</i>: </label><input type="text" name="dateiname"><br />
<input type="submit" value="Absenden">
</fieldset>
</form>

neue Podcastdaten ein, damit ein neuer Podcast dann über das Datenbank-Array

PHP:
$Podcasts = Array ();
$Podcasts[0]["title"]        = "Vierschanzentournee Special";
$Podcasts[0]["short"]        = "Special-1";
$Podcasts[0]["beschreibung"] = "Weihnachtsfolge- Erster Podcast zur Vierschanzentournee";
$Podcasts[0]["datum"]        = "24.12.2012";
$Podcasts[0]["dateiname"]    = "Vierschanzentournee-Special";

$Podcasts[1]["title"]        = "Vorstellung";
$Podcasts[1]["short"]        = "Vorstellung";
$Podcasts[1]["beschreibung"] = "Hier berichten die Podcaster &uuml;ber sich und ihre Arbeit.";
$Podcasts[1]["datum"]        = "20.09.2012";
$Podcasts[1]["dateiname"]    = "Vorstellung";

aufgerufen werden können.

Darunter folgt dann die Verarbeitung, welche ich ja über das Formular an diese Seite gesendet habe:

PHP:
$action=$_GET['action'];

switch ($action) {
	case 'write':
		$title = $_POST['title'];
		$short = $_POST['short'];
		$beschreibung = $_POST['beschreibung'];
		$datum = $_POST['datum'];
		$dateiname = $_POST['dateiname'];
		$Podcasts[]["title"] = $title;
		$Podcasts[]["short"] = $short;
		$Podcasts[]["beschreibung"] = $beschreibung;
		$Podcasts[]["datum"]  = $datum;
		$Podcasts[]["dateiname"] = $dateiname;
		echo "<b>Podcasttitel:</b> ".$title;
		echo "<br />";
		echo "<b>Abk&uuml;rzung/Interne Bezeichnung:</b> ".$short;
		echo "<br />";
		echo "<b>Podcastbeschreibung:</b> ".$beschreibung;
		echo "<br />";
		echo "<b>Aufnahmedatum:</b> ".$datum;
		echo "<br />";
		echo "<b>Name der Datei:</b> ".$dateiname;
		echo "<br />";
		echo "Daten erfolgreich eingetragen!";
		header("Refresh: 3; podcast_data.php?action=read");
		exit();
		break;
	case 'read':
		echo "<pre>";
		print_r($Podcasts);
		echo "</pre>";
		break;
	default:
		echo "Um das Array anzusehen w&auml;hlen sie <pre>action=read</pre>!";
		break;
	}
.

Wo liegt mein fehler? Kann mir jemand helfen?
Ich danke schon im Voraus!

Grüße
SWFP
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Datenbank-Array wird nicht befüllt

Lern endlich debuggen. Lass dir die Variablen an strategischen Punkten ausgeben um zu sehen ab wann ein Fehler auftritt.


Duddle
 

SWFP

SWFP Mitglied

AW: Datenbank-Array wird nicht befüllt

Danke für den Tipp Duddle, aber das habe ich gemacht, und konnte leider nichts feststellen.

SWFP
 

owieortho

Aktives Mitglied

AW: Datenbank-Array wird nicht befüllt

Also in Deinem Code sehe ich nirgends auch nur ein SQL-statement, das irgendwelche Formulardaten handhabt. Und ich habe es jetzt nicht kontrolliert, aber der header-redirect mittendrin wird wohl auch Schwierigkeiten machen, da er vor allem output ausgegeben und ausgewertet werden muss.

O.
 

Curanai

Aktives Mitglied

AW: Datenbank-Array wird nicht befüllt

@owieortho: Relativ ... eine "Datenbank" ist es auch dann, wenn er nur ein Textfile (aber dann fehlt auch das buildUp) nimmt - oder einen include() einer PHP-Datei, in der sein Array so vorbereitet und angelegt wäre (Unfug, aber denkbar).

Da aber bereits zu Protokoll gegeben wurde, dass da einiges drumherum fehlt und einiges totalitärer Quatsch aka Bullshit ist, darf der TO gern nachlegen. Da es aber nur um den "read"-Case gehen soll, halte ich mich selbst jetzt zurück bzgl. "write" (echo, header, podcast[3], syntax ...). Ansonsten wird dort kein echo im "write" auftauchen ... außer Du hast irgendwo noch einen output_buffering "versteckt", welches "vorzeitig" ausgeliefert wird - aber dann fliegt Dir wieder der header um die Ohren usw.

Fazit: Unbrauchbares Modell für Deine Absicht - bereits jetzt schon.

Grüße vom Kaffeebecherrand.
 

SWFP

SWFP Mitglied

AW: Datenbank-Array wird nicht befüllt

Ja, Curanai hat recht. Alles was ihr hier seht, gehört dazu, aber das wars. Datenbank heißt in diesem Fall Array. Ich brauche dazu soweit ich weiß kein SQL und verarbeite alles direkt mir PHP, warum nicht? Um ein vorhandenes Array zu füllen, reicht theoretisch ja solch eine Zeile:

PHP:
$Podcasts[]["title"] = $title;

@Duddle: Ich habe nie behauptet, alles richtig zu machen. Das da etwas falsch sein muss, ist mir recht klar. Sonst hätte ich nicht um Hilfe gebeten.

@Curanai: Die echos sind quasi die Bestätigung des Schreibvorganges.

An alle: Bitte sagt mir doch, was konkret falsch ist.

SWFP
 

Duddle

Posting-Frequenz: 14µHz

AW: Datenbank-Array wird nicht befüllt

Das da etwas falsch sein muss, ist mir recht klar. Sonst hätte ich nicht um Hilfe gebeten.
Du zeigst nicht, wie du debuggst. Wenn du korrekt debuggen würdest, würdest du den Fehler finden (und ich sehe den Fehler, ich weiß wo er liegt). Deshalb bitte ich dich, deinen Debug-Code und die dazugehörige Ausgabe zu liefern. Ideal wären noch Kommentare von dir, ob die Ausgabe zu jedem Punkt der erwarteten entspricht.

Irgendwann musst du mal debuggen lernen, sonst landest du bei jedem Problemchen wieder im Forum (so wie es derzeit der Fall ist).


Duddle
 

SWFP

SWFP Mitglied

AW: Datenbank-Array wird nicht befüllt

Okay. Dann lerne ich es hier und jetzt. Auch dafür bin ich offen. Also, alle ausgaben findest du dort. Was sollte ich noch ausgeben?

Also empfangen wurden die Daten. Aber geschrieben werden sie nicht, das sie in der Ausgabe nicht auftauchen.

SWFP
 

Duddle

Posting-Frequenz: 14µHz

AW: Datenbank-Array wird nicht befüllt

Genau, also baust du Zwischenausgaben rein dafür ein um zu sehen wie deine Variablen gerade befüllt sind. Damit meine ich alle relevanten Variablen. Im Idealfall weißt du wann du sie prüfen solltest, aber am Anfang kannst du ruhig volle Kanne reingehen und nach jeder Zuweisung / Änderung den Zwischenstand ausgeben lassen.

Wie sieht dann die Ausgabe aus?


Duddle
 

SWFP

SWFP Mitglied

AW: Datenbank-Array wird nicht befüllt

Herauskommt:

neuPodcasttitel: Titel
Abkürzung/Interne Bezeichnung: Bezeichnung
Podcastbeschreibung: Beschreibung
Aufnahmedatum: 01.01.01
Name der Datei: Datei
Daten erfolgreich eingetragen!

und dann:

Array
(
[0] => Array
(
[title] => Vierschanzentournee Special
[short] => Special-1
[beschreibung] => Weihnachtsfolge- Erster Podcast zur Vierschanzentournee
[datum] => 24.12.2012
[dateiname] => Vierschanzentournee-Special
)

[1] => Array
(
[title] => Vorstellung
[short] => Vorstellung
[beschreibung] => Hier berichten die Podcaster über sich und ihre Arbeit.
[datum] => 20.09.2012
[dateiname] => Vorstellung
)

)

SWFP
 

Duddle

Posting-Frequenz: 14µHz

AW: Datenbank-Array wird nicht befüllt

Machst du es bewusst schwerer als es ist?
Duddle schrieb:
also baust du Zwischenausgaben [...] ein um zu sehen wie deine Variablen gerade befüllt sind
Wenn die write-Aktion nicht wie erwartet funktioniert, dann musst du verfolgen ab wann das erwartete Verhalten vom tatsächlichen Verhalten abweicht. Je mehr Informationen du hast, umso besser kannst du den Fehler isolieren.

Ich wiederhole mich also zum siebzehnten Mal: bau Zwischenausgaben ein, damit du siehst was derzeit in den Variablen steht.


Duddle
 

Duddle

Posting-Frequenz: 14µHz

AW: Datenbank-Array wird nicht befüllt

Sag mir, ohne den Code zu verändern, was nach Zeile
PHP:
$Podcasts[]["dateiname"] = $dateiname;
in $Podcasts steht.
Ich bin mir sehr, sehr sicher, dass du falsch liegst - weil du schlichtweg glaubst zu wissen was passiert. Aber es gibt einen gewaltigen Unterschied zwischen "Glauben" und "Wissen". Diesen kannst du ausschließlich mit der tatsächlichen Messung / Ausgabe des Zustandes überbrücken.


Duddle
 

Curanai

Aktives Mitglied

AW: Datenbank-Array wird nicht befüllt

Duddle, jetzt bin ich irritert und Du hast mich gedanklich verloren - auf was spielst Du an, was da jetzt stehen soll? ...

Code:
Array (
  [0] => Array([title] => Vierschanzentournee Special ...)
  [1] => Array([title] => Vorstellung ...)
  [2] => Array([title] => 12345)
)
"12345" war mein Pseudo-POST-Inhalt für den Titel. Was ist daran jetzt "speziell"? Eigentlich nix ... der wahre Haken ist eigentlich, dass er auf diese Weise das Array gar nicht ergänzt bekommt - das lädt sich schließlich immer via besagtem include() neu und hat gar keine Modifikationen mehr enthalten. Wie erwähnt: Unnütz. Da der arme SWFP aber gar nix sieht per "read", tippe ich eher auf ein deplatziertes include() - denn die anfänglichen Einträge, welche wohl als Inhalt hinterlegt sind, müssten ja da sein ...

Grüße.
 

Duddle

Posting-Frequenz: 14µHz

AW: Datenbank-Array wird nicht befüllt

Er will
Code:
Array
(
    [0] => Array
        (
            [title] => foo
            [short] => bar
        )

)
Er erzeugt aber
Code:
Array
(
    [0] => Array
        (
            [title] => foo
        )

    [1] => Array
        (
            [short] => bar
        )

)
Beim Speichern usw. war ich noch garnicht.


Duddle
 

Curanai

Aktives Mitglied

AW: Datenbank-Array wird nicht befüllt

Hacke, verdammte ... hätte ich den zweiten mal noch rein genommen. :D Da haste natürlich (!!!) recht ...
 

SWFP

SWFP Mitglied

AW: Datenbank-Array wird nicht befüllt

Oh, also doch erstmal Anzahl der Arrayobjekte bestimmen und dann +1 :(

Oder wo liegt mein Fehler?
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben