Autor |
Nachricht |
schattenjaeger
Threadersteller
Dabei seit: 03.11.2005
Ort: Kiel
Alter: 34
Geschlecht:
|
Verfasst Di 18.12.2007 02:50
Titel Checkboxstatus in eine PHP-Datei schreiben |
|
|
Hey Leute,
folgendes: ich programmiere grade etwas deletantisch einen "Vertretungsplan". Dort soll nur angezeigt werden ob die Stunde ausfällt oder nicht. Diese Werte werden aus der var.php ausgelesen - für die passende Zelle in der Tabelle gibt es eine eigene Variable.
In der Variablendatei sieht es so aus:
Code: |
<?
$Aheute = "17.12.2007";
$A5a1 = "";
$A5a2 = "";
$A5a3 = "";
[und so weiter]
?>
|
Die Seite zum anzeigen sieht so aus http://keona.org/vertretung/
Eine Zelle sieht dann Beispielsweise so aus:
Code: | <td bgcolor="#e7e7e7"><div align="center"><? echo $A5a1; ?></div></td> |
Diese ganze Sache brauch auch nen Adminbereich. Der ist ganz einfach mit Checkbox gelöst. In jeder Zelle ist statt der Variable eine Checkbox. Dann sieht eine Zelle so aus:
Code: | <input type="checkbox" name="A5a1" value="/" id="A5a1" <? IF($A5a1=="/"){ ?>checked<? }?> /> |
Hier wird aus der var.php ausgelesen ob da schon das / drin ist oder nicht und die Checkbox wird aktiviert oder bleibt deaktiviert.
Wenn es jetzt Änderungen gibt, soll man einfach aus der Checkbox das häckchen raus / rein machen und speichern.
Jetzt die Masterfrage: wie bekomme ich das in die Datei geschrieben?
Mein Versuch sieht so aus:
Code: | <?
$A5a1=$_POST['A5a1'];
// Lesen der Datei
$dateiname = "../resources/inc/var.php";
$handle = fopen ( $dateiname, "r" );
$A5a1 = fread ($handle, filesize ($dateiname));
fclose ($handle);
// schreiben des neuen Wertes
$handle = fopen ( "../resources/inc/var.php", "w");
fwrite ( $handle, $A5a1);
fclose ( $handle);
echo "Wert wurde aktallisiert!";
?> |
Er schreibt den Wert jedoch nicht in die Datei. Warum? Was mache ich falsch?
Auch die Variable Datum muss ich irgendwie schreiben. Die soll eigentlich so aussehen, nach meinem Masterplan:
Code: | $Aheute = date("d.m.Y"); |
Was mache ich falsch? Hättet Ihr nen Rat für mich?
Danke schoneinmal!
|
|
|
|
|
choise
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Di 18.12.2007 09:39
Titel
|
|
|
willst du das ganze nicht lieber mit einer MySQL Datenbank lösen ?
mit dem beschriebenen system, hast du wohl sehr bald keine var.php mehr wenn mal
mehrere lehrer gleichzeitig ihre stunden eintragen....
hab mir das ding jetzt nich so genau durchgelesen, hab grad keine zeit, schaus mir nachher mal an.
allerdings seh ich was auf die schnelle....
bitte nicht benutzen...
nimm
bis dann, vllcht gibts ja dann schon ne antwort auf die mysql sache
|
|
|
|
|
Anzeige
|
|
|
Smooth-Graphics
Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 18.12.2007 09:53
Titel
|
|
|
choise hat geschrieben: |
bitte nicht benutzen...
|
Wieso denn nicht wenn Short-Tags aktiviert sind, ist das doch absolut kein Problem!?
|
|
|
|
|
choise
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Di 18.12.2007 10:11
Titel
|
|
|
eben deswegen,..
will man portabel sein, sollte man auf shorttags verzichten,
spätestens mit php6 werden shorttags eh nicht mehr akzeptiert,...
sollte man xhtml valid schreiben ist es mir schon passiert, dass es
plötzlich meine xml deklaration gefressen hat.
nunja, jedem das seine, sollte nur n tip sein
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Di 18.12.2007 11:22
Titel
|
|
|
choise hat recht, geht aber dennoch an der frage vorbei moinsen
so, und nun schauen wir mal, was du da machst...
Code: |
<?
$A5a1=$_POST['A5a1'];
// du übernimmst deinen post-wert $A5a1=$_POST['A5a1']; (bei gecheckt = "/") OK...
// Lesen der Datei
$dateiname = "../resources/inc/var.php";
$handle = fopen ( $dateiname, "r" );
$A5a1 = fread ($handle, filesize ($dateiname));
// DER GROSSE FEHLER
// du liest den inhalt von var.php in die variable $A5a1 (damit ist der alte inhalt der variablen mit dem inhalt der datei ueberschrieben...)
fclose ($handle);
// schreiben des neuen Wertes
$handle = fopen ( "../resources/inc/var.php", "w");
fwrite ( $handle, $A5a1);
// hier schreibst du den inhalt der datei wieder in die datei
// !!! DU MACHST ALSO NICHTS ANDERES, ALS DIE DATEI ZU LESEN UND WIEDER ZU SCHREIBEN ;))
fclose ( $handle);
echo "Wert wurde aktallisiert!";
// besser: echo "Datei wurde gelesen und ungeändert geschrieben";
?>
|
dein ablauf ist nicht ganz optimal. was soll das ding können? rein tagesaktuell, oder willst du auch die tage der vergangenheit betrachten können?
|
|
|
|
|
schattenjaeger
Threadersteller
Dabei seit: 03.11.2005
Ort: Kiel
Alter: 34
Geschlecht:
|
Verfasst Di 18.12.2007 11:26
Titel
|
|
|
Hey, also die Shorttags werden gleich ersetzt. Vielen dank für den Hinweis.
Eine MySQL-Datenbank kommt nicht in Frage, da keine zur Verfügung steht. Der Einwand, dass nicht mehrere Leute den Plan bearbeiten können ist durchaus berechtigt, aber dieses System ist für eine Person bestimmt.
Wie schreibe ich das denn nun in die Datei?
|
|
|
|
|
Pixelpole
Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht:
|
Verfasst Di 18.12.2007 11:26
Titel
|
|
|
ich würde ja zur nutzung einer datenbank raten. Aber eigentlich dürfte XML den ansprüchen auch genügen. ist wesentlich hübscher
//edit: ok db hat sich erledigt. aber nichts spricht gegen xml
seit php5 ist die verarbeitung von xml wesentlich einfacher geworden.
Zuletzt bearbeitet von Pixelpole am Di 18.12.2007 11:27, insgesamt 1-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Di 18.12.2007 11:33
Titel
|
|
|
würde ggef auch vollkommen reichen, wenn ein array in eine textdatei gepackt wird.... nu ma nicht mit kanonen auf spatzen schießen )
|
|
|
|
|
|
|
|
Ähnliche Themen |
in datei schreiben aus $ [solved]
[PHP] Datei auf fremden Server schreiben
PHP .gz entzippen und in neue Datei schreiben
XML-Datei auslesen und in Datenbank schreiben
Newsletteranmeldungen in eine Datei schreiben (alles Lokal)
Class auslesen und in eine neue Datei schreiben.
|
|