Leute, hieran verzweifle ich...
Kurzer Überblick des Sachverhalts: Es soll ein kleines "Umfrageskript" sein, welches in einem kleinen geschlossenen Kreis Verwendung finden sollte.
Jeder hat 3 spezifische Stimmen, und es soll die Möglichkeit geben, selbst Optionen zu nominieren. Klingt trivial, aber dieser Fehler ist noch trivialer;
soweit funktioniert alles. Radio-Buttons werden korrekt konstruiert und eingelesen, aber dann....
$list=file("entries.txt");
$ops=file("options.txt");
$write=fopen("entries.txt","w");
foreach($ops as $i => $o) {
switch($o) { // den gelöschten Inhalt der entries.txt nun nacheinander im Abgleich mit den Stimmen neu schreiben
case $inone: // Erststimme zählt wie 3, Zweite wie 2 etc.
$tmp=intval($list[$i]);
$tmp+=3;
fwrite($write, "$tmp", 1000);
break;
case $intwo:
$tmp=intval($list[$i]);
$tmp+=2;
fwrite($write, "$tmp", 1000);
break;
case $inthree:
$tmp=intval($list[$i]);
$tmp++;
fwrite($write, "$tmp", 1000);
break;
default: // Den alten Kram beibehalten, wenn die Option keine Stimme erhielt
fwrite($write, $list[$i], 1000);
break;
}
}
fclose($write);
$list=file("entries.txt");
"Oh mein Gott, in Textdateien?" Ja, von mir aus, ich war zu faul, mich in MySQL reinzulesen, darüberhinaus schien es mir unnötig, da ich ohnehin nicht viele Zugriffe auf das Skript erwarte und ich die Performance unterordnen kann. Aber ich mag das System zunächst etwas erläutern.
options.txt beherbergt die Wahlmöglichkeiten
entries.txt ist das Gegenstück dazu: Sie speichert die abgegebenen Stimmen in der korrespondierenden Zeile ab. Oder auch nicht. Habe ich alle benötigten Zeilen mit ausreichenden Nullen in jeder Zeile gefüllt, um den Testzwecken gerecht zu werden(Ich automatisiere das später, derzeit lohnt es sich nicht, in etwas anderes Zeit und Nerven zu investieren...), kann ich auch schon testweise wählen, mit dem fingernägelhochrollenden Resultat diverser Kästchen hinter jeder 0...außer der letzten, die letzte Option, egal mti was angewählt, wird korrekt ausgewertet!
Dem aufmerksamen Leser ist möglicherweise nicht entgangen, dass ich bei Fwrite() auf Zeilenabsätze a la "\n" verzichte. Das heißt aber nicht, dass keien Zeilenabsätze gemacht werden, im Gegenteil, aber ich befürchte, dass genau dort das Problem liegt, und ich weiß nicht ,wie ich das geschickterweise unterbinden kann.
Sorry für die Wand ungetümen Textes ._.