Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

PHP Variablen

Hi. Hab n Problem mit der Ausgabe von Variablen. Ich habe ein kleines Script erstellt, womit man zum eingeben von daten in eine tabelle aufgefordert wird, da es immer das selbe ist, hab ich das mit php gelößt und die variablen werden aufsteigend benannt $_1 $_2 $_3..... bla bla bla. habs mit ner einfachen for schlefe gelöst. wenn ich die daten aber jetzt in eine datei schreiben will, dann kriege ich das mit ner schleife nicht hin.
wäre ja auch zu einfach, mit einer schleife immer wieder
fwrite($datei,$_1);
fwrite($datei,$_2); etc zu realisieren.
wie kann ich dem beibringen, das ich jetzt auch in einer for schleife den fwrite befehl reinbekomme, also dass die variable im befehl durchnummeriert wird?... wenn ich mich nicht so genau versteht was ich will bitte einfach sagen, dann kopiere ich größere teile des scriptes mal hier rein


Antworten zu PHP Variablen:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

größere Teile des Skripts wären ungünstig, aber der betreffende Teil wäre absolut nötig ;)

greez 8)
JoSsiF

Ich hatte mir es halt in etwa so gedacht:

Erst mal werden Variablen erstellt, mittels eines Formulars, einer Tabelle, 72 mal <input type="text" name --> und da werden mittels php die namen schon automatisch durchnummeriert vergeben, angefangen bei _11 bis _126, es geht nach dem selbem muster wie die schleife unten.

So, jetzt möchte ich aber nach abschicken des formulars die ganzen werte in einer datei speichern.
Datei öffnen, rechte etc klappt ja alles, is gar kein problem, auch einen einzelnen wert zu schreiben ist kein problem, aber fortlaufend alle klappt nicht.

ich hatte es mir halt so gedacht:

for($i=1;$i<=12;$i++){
    for($j=1;$j<=6;$j++){
        fwrite($file,$_[$i.$j]);
    }
}

Das Problem kann ja eigentlich nur am fwrite befehl liegen. Also wenn ich jetzt die Variablen einzeln aufrufe, z.B.
echo $_115, dann erscheint auch brav der Wert der Variable. Aber ich möchte es halt in eine Datei schreiben, und da ich nun mal 72 Variablen habe, aus den Schleifen kann man auch ablesen wie diese heißen, habe ich keine Lust, 72 mal fwrite($..... bla bla bla zu schreiben. Ich möchte also das auch beim Schreiben die Variable mit einer fortlaufenden nummerierung aufgerufen werden können.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,

die Referenz zu fwrite() hast du dir aber schon mal durchgelesen?? ???
Da steht in etwa folgender Ablauf fürs Dateihandling drin:
1) Datei öffnen/erzeugen
2) Daten in Datei schreiben/anhängen
3) Datei schließen

So, nun ist unschwer zu erkennen, dass das bei deinem Programmcode nix wird.

BTW: Ist nicht der viel logischere Ansatz, die Daten in einer Variablen zu sammeln und dann EINMAL in die Datei zu schreiben, anstatt hier X Dateizugriffe zu realisieren? Dein Webserver und deine Anwender, die das Script ausführen, werden es dir danken...

Mario 8)


 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hi |

Mario hat vollkommen recht, was das Schreiben in die Datei betrifft. Ergänzend möchte ich mal drauf hinweisen, dass du deine übergebenen Parameter vernünftig auslesen solltest. Der Zugriff mit $_2, $_3 usw. dürfte auf dem nächstbesten Webserver schon nicht mehr funktionieren. Stattdessen sind die superglobalen Arrays $_GET, $_POST oder $_REQUEST zu verwenden, je nach Einsatzzweck.

greez 8)
JoSsiF

Mal eine kleine Anmerkung zum Beitrag von Mario

 

Zitat
die Referenz zu fwrite() hast du dir aber schon mal durchgelesen??
Da steht in etwa folgender Ablauf fürs Dateihandling drin:
1) Datei öffnen/erzeugen
2) Daten in Datei schreiben/anhängen
3) Datei schließen

Em, halt leute die ein Problem haben bitte nicht direkt für dumm. Das zum schreiben die entsprechenden Rechte, sowie fopen() und fclose() gehört, ist mir beim besten willen seit Jahren bekannt, ich habe auch nur einen Teil von dem Angegeben, um den worum es bei meinem Problem geht! Also nicht 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hallo,

Mal eine kleine Anmerkung zum Beitrag von Mario

 
Em, halt leute die ein Problem haben bitte nicht direkt für dumm. Das zum schreiben die entsprechenden Rechte, sowie fopen() und fclose() gehört, ist mir beim besten willen seit Jahren bekannt, ich habe auch nur einen Teil von dem Angegeben, um den worum es bei meinem Problem geht! Also nicht 

Tja, dann siehst du aber mal, was dabei rauskommt, wenn man nur den halben Code hier postet. Woher sollen wir denn wissen, das du das fopen() und fclose() drumherum hast, wenn es hier nicht mir steht?? Wir halten hier niemanden für dumm; das was ich gepostet habe, ist halt lediglich der normale Ablauf einer Dateioperation. Und der fehlt in deinem Codebeispiel. Und das ist dann halt für uns auch der erste Ansatz, bevor wir uns Gedanken machen, was sonst noch schief gehen könnte.

Okay, aber zurück zum Problem. Da Dir seit Jahren bekannt ist, dass du vorher die Datei öffnen musst, öffnest du sie aber auch im richtigen Modus? D.h. da du die Datei in der for() Schleife nicht schließt, hast du sie zum "anhängen" (also append) geöffnet?
Hast du mal den Zugriff auf die Variablen so gestaltet wie JoSsiF gepostet hat?  Und was hälst du von meinem Ansatz, nur einmal in die Datei zu schreiben?

BTW: Dann komme ich mal auf dein Angebot zurück, und fordere etwas mehr Programmcode ;D;)

Mario 8)

 

« Probleme mit dem Posteingang bei Versatelwww.homepage-baukasten.de »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
AppleScript
AppleScript ist eine Programmiersprache von Apple für Skripte und Programme auf Systemebene. Im Gegensatz zu den Unix-Shellscripts, die seit OS X ebenfalls mögl...

Javascript
JavaScript ist eine weit verbreitete Skriptsprache, die ursprünglich von Netscape für das DOM-Scripting für Webseiten entwickelt wurde. Sie hat sich seitde...

PostScript
PostScript ist eine Programmiersprache zur Beschreibung von grafischen Objekten und Schriftzeichen zur Übertragung vom Computer zum Drucker oder Laserbelichter. Gene...