Array hat keine Daten mehr

Was/Wer/wo ist "das zweite Skript".
Wird das dort ebenfalls includet, oder wie.


Setzt auf jeden Fall dein Error-Reporting bereits zum Beginn von berechnung.php auf E_ALL ....es bringt wenig, das erst zu tun, wenn die Fehler bereits verarbeitet wurden.
 
Zuletzt bearbeitet:
probier mal das hier:

PHP:
<?php
$wieviele = count($array);

for($i = 0; $i < $wieviele; $i++) {
     echo $array['breite']."<br>";
     echo $array['hoehe']."<br>"; 
     echo $array['tuerblattbreite']."<br>"; 
}
?>

du kannst auch foreach oder while verwenden ;)

warum mit for oder foreach? wenn du das $array ansprichst, wird der erste wert per echo ausgegeben. da das ganze aber nicht durch eine schleife läuft um die weiteren indizes zu erhalten, bleibt es eben beim ersten.

steht aber alles in dem link oben schon drin ;)
 
servus "fatalus"

Also der Ablauf:

Der User bekommt die Möglichkeit über ein Eingabescript Daten einzugeben, die berechnet werden, und dann mehrfach ausgegeben werden. Zum Beispiel in einer Bohrskizze, darum benötige ich diese errechneten Daten, denn sie werden auf dieser Bohrskizze ausgegeben, damit der User die Abstände, usw. hat.

Der Verlinkungsablauf (zur Zeit):

Eingabeformular -> berechnung_anlagentyp_1.php -> bohr_anl1.php - das ist die Bohrskizze für die Mauer - (alle in eigenen Ordnern). Später kommen noch 11 weitere Scripts dazu, die mit den Daten aus dem Array arbeiten (alles Skizzen).

Die Berechnung der Eingabedaten habe ich in der "berechnung_anlagentyp_1.php" im Ordner "include" (hat also mit der oben erwähnten nur eine Namensgleichheit - ändere das aber). Diese Datei wird in jedem Script includet (außer natürlich im Eingabeformular).

Sollte doch keine Hexerei sein, dies zu realisieren! Meinte ich ma :(

hülft das etwas weiter?
 
güsti "saila"

Das mit der Schleife wird so falsch nicht sein, aber die errechneten Daten erhalte ich zur Gänze - aber wie schon erwähnt nur einmal !
 
noch ne frage zu deinem ablauf der dateneingabe. werden diese daten mehrfach eingegeben oder nur am anfang und danach läuft die verarbeitung und ausgabe der daten? wenn dem so ist, warum nimmst du nicht eine session dafür?

so wie ich das bisher verstanden habe, sind das ja einmalige eingaben wie breite und hoehe usw.. sprich es gibt ja nicht mehrere hoehen oder?

in einer session kannst du die daten über beliebig viele seiten aufrecht erhalten und du kannst auch jederzeit auf sie zugreifen wenn du sie benötigst. bei einem array - das über seiten hinweg zu transportieren.......... dazu gibts infos im link.

du kannst bei einer session sogar auf die erste seite zurück und die daten einzeln ändern um danach wieder eine neue berechnung durchlaufen zu lassen. das ist bei einem array nicht möglich - zumindest nicht in der form oder mir nicht bekannt.
 
Fürs Erste hast recht, diese Daten werden nur einmal eingegeben und dann in jedem Script wieder verwendet.

Zum Zweiten aber mach ich ma ein Geständnis:

Mit Sessions, auf DB - Basis - das ist soweit kein Problem, das ist aber in diesem Fall der "letzte" Ausweg.
Ich hab' mich bis jetzt immer um die Arrays gedrückt - wollte mich mit dieser Materie nicht und nicht beschäftigen. Ich habe aber immer und überall gelesen, daß Arrays eines der elementarsten Teile von PHP sind, vor allem weil dieses Konstrukt in PHP wesentlich mächtiger ist als in anderen Sprachen. Habe gemeint, daß ich mich über diese Aufgabe mit den vermaledeiten Arrays anfreunden kann. Wieder nüscht!

Sessions sind mir etwas geläufiger wie diese Dinger.

Habt Dank für alles - jetzt mache ich eine "Sitzung" :-)

werd' Euch aber mit den Arrays vermutlich wieder nerven :p

quidnovi
 
Zuletzt bearbeitet:
schon, schon, aber...

die einzig vernünftige und sichere Methode, um ein Array von einer Seite auf eine andere Seite zu transportieren, ist das Ablegen des Arrays in einer Session auf dem Server. Alle anderen Methoden sind ein Sicherheitsrisiko.

Bin eben erst dahintergestiegen :-)

Hab' nun das "Glück" mich mit Arrays in Zusammenhang mit Sessions zu beschäftigen. ;)
 
Zuletzt bearbeitet:
so, melde mich mit der Lösung:

Im Eingabeformular sende ich die Daten mittels
PHP:
<form action="../berechnungen/berechnung_anlagentyp_1.php" method="post">

an das "berechnungsformular.php":

PHP:
session_start ();
$eingabedaten['breite'] = $lmb;
$eingabedaten['hoehe'] = $lmh;
$eingabedaten['klemmhalterabstand1'] = $x1 = (($lmb -110) /2);
$eingabedaten['klemmhalterabstand2'] = $x2 = (($lmb -110) /3);
$eingabedaten['durchgangsbreite'] = $dgb = ($lmb - 130);
$eingabedaten['schienenlaenge'] = $ls = (88 + ($lmb - 110) + ($lmb -110) +88);
$eingabedaten['tuerblattbreite'] = $tbb = ($lmb + 66);
$eingabedaten['tuerblatthoehe'] = $tbh = ($lmh +22);
$eingabedaten['glasdicketuer'] = $gdt;

	   if ($lmb > 1826)
	   {
		   header("Location:../pruefscripts/fehlerscript.php"); 
	   }

	   if ($lmh > 2500)
	   {
		   header("Location:../pruefscripts/fehlerscript.php"); 
	   }

       session_register("eingabedaten");

Somit habe ich das Array gefüllt, und habe es dann in den weiteren Scripts mittels:
PHP:
session_start (); 
session_register("eingabedaten");
zur Verfügung, und gebe sie mit:
PHP:
echo "Lichtes Breitenmass: &nbsp;"
echo $eingabedaten['breite'];
usw.

Hoffe, es hilft solchen blutigen "beginners" wie mir ein bißchen weiter. :-(

solong
quidnovi

p.s.: Verbesserungsvorschläge sind herzlich willkommen
 
Zurück