Variable in Html document schreiben

JoKne

Erfahrenes Mitglied
Code:
<html>
<head>
<title>Wardiary</title>
</head>
<body bgcolor="#ffffff">
<?
if ($button) {
// Hier wird das File geschrieben
  $fp = fopen('daten.html', 'a');
  $eingabe1 = "<html><head></head><body><table border='1' width='600'><tr><th>$eingabe1</th>";
  $eingabe2 = "<th>$eingabe2</th>";
  $eingabe3 = "<th>$eingabe3</th>";
  $eingabe4 = "<th>$eingabe4</th></tr></table></body></html>";
  fputs($fp, $eingabe1, strlen($eingabe1));
  fputs($fp, $eingabe2, strlen($eingabe2));
  fputs($fp, $eingabe3, strlen($eingabe3));
  fputs($fp, $eingabe4, strlen($eingabe4));
  fclose($fp);// Die Ausgabe der Datei
  $fp = fopen('daten.html', 'r');
  fpassthru($fp);
}
else {
    echo '<form name="Wardiary" action="'.$PHP_SELF.'" method="post">
<center>
    <h2>Tragen Sie hier den War ein</h2>
</center>
    <br>
    <br>
<center>
    <table border="1" width="600">
    <tr>
     <th><p><b>Datum:</b></th>
     <th><input type="text" name="eingabe2" value=""></p></th>
    </tr>
     <tr>
      <th><p><b>Gegner:</b></th>
      <th><input type="text" name="eingabe3" value=""></p></th>
    </tr>
    <tr>
     <th><p><b>Ergebnis:</b></th>
     <th><input type="text" name="eingabe4" value=""></p></th>
    </tr>
    <tr>
     <th><p><b>Details:</b></th>
     <th><input type="text" name="eingabe5" value=""></p></th>
    </tr>
    </center>
    </table>
    <br>
    <br>
    <br>
    <p><b>win</b>  <input type="radio" name="eingabe4" value="<font color='#33FF00'size='12'>.$eingabe4.</font>"</p>
    <p><b>lost</b> <input type="radio" name="eingabe4" value="<font color='#FF0000'size='12'>.$eingabe4.</font>"</p>
    <p><b>draw</b> <input type="radio" name="eingabe4" value="<font color='#CC99FF'size='12'>.eingabe4.</font>"</p>
    <p><b><font color="red">lost</font></b> <input type="radio" name="eingabe4" value=.eingabe4.></p>
    <input type="submit" name="button" value="Eintragen">
    </form>';
}
?>
</body>
</html>

Wenn man die INputboxen ausfüllt wird der wert an ein Html document übergeben. Bei der inputbox "ergebnis" würde ich gerne einstellen das wenn man zusätzlich noch den radiobutton wählt also won,lost oder draw der wert
in Grün, rot oder gelb ins html dokument geschrieben wird. Allerdings habe ich derzeit noch ein problem mit der ausgabe der variable "$eingabe4" irgendwie bekomme ich es nicht hin diese mit der eingeschaft <font color="red"> in das html document zu schreiben.
Wäre nett wenn mir da jemand helfen könnte.

Bin für jede Hilfe dankbar.Ciao
 
Hi,

man übergibt doch HTML nicht in ner Form...... :rolleyes:

Also:

Dü übergibst einfach fixe Werte wie halt won,lost oder draw.

vor dem fopen(); prüfst Du welchen Wert $eingabe4 hat
und versiehst $eingabe4 dann mit der richtigen Farbe.

Das sieht dann so aus:

PHP:
switch($eingabe4)
{
    case "won":
        $eingabe4 = '<span style="color: #00FF00">'.$eingabe4.'</span>';
        break;
    case "lost":
        $eingabe4 = '<span style="color: #FF0000">'.$eingabe4.'</span>';
        break;
    case "draw":
        $eingabe4 = '<span style="color: yellow">'.$eingabe4.'</span>';
        break;
}

Dann klappts....
 
Vielen Dank für die Antwort.
Leider funktioniert es nicht so wie ich es mir erhofft hatte, wenn ich es wie Sie
mir vorgeschlagen haben eingliedere so bekomme ich einen parser error weil die " und ' nicht korrekt angeordnet sind.
Wenn ich es dann editiere bekomme ich eine fehlerhafte Ausgabe die mir die Variable $eingabe4 in gleicher Form in den quelltext schreibt.
Ist es möglich das Sie mir direkt an Hand eines Bsp. zeigen wie es Ihrer Meinung nach funktionieren müsste?Bin leider noch PHP Anfänger.:(
 
Hallo, auch wenn's hart klingt: Verbuddel Deinen Code irgendwo und hoffe darauf, dass niemand mitbekommt, wer der Urheber ist.
Der Code enthält zu viele Faselfehler, die Datenübergabe ist schlecht gelöst und die Datenhaltung, sowie Datenverarbeitung erst recht.

Mein Tipp: Kaufe Dir ein PHP-Einsteigerbuch beim Buchhändler Deines Vertrauens, arbeite Dieses durch und setze Dich danach erneut an Dein jetziges Problem. Denn fährst Du mit diesem schlechten Programmier-Stil fort, dann ärgerst Du Dich später grün und blau - spätestens dann, wenn Du Deine Scripte warten/anpassen musst.

snuu
 
Tjo snuu, hast ja recht das ich Anfänger bin!
Aber ich denke mal du solltest dir auch mal ein PhP Buch durchlesen weil
dumme Sprüche klopfen kann denke ich mal jeder. Wie man sieht hast du,
auch wenn du noch so schlau daher redest auch keine Lösung für dieses
Problem.I
 
Es geht nicht darum Deinen Code so anzupassen, dass er funktioniert. Würde ich den Code so anpassen, dass er funktioniert, gut strukturiert ist und die Daten des Nutzers besser speichert, dann würdest Du ihn nicht mehr als Deinen ursprünglichen wiedererkennen.

Und auf das Korrigieren Deiner Fehler habe ich nicht sonderlich Lust, weil es einfach zu viele sind. Schau Dir allein die fehlerhafte Setzung von einfachen und doppelten Anführungszeichen im letzten HTML-Abschnitt an. Wahrscheinlich benutzt Du keinen Editor mit Syntax-Highlighting.

Dann die Logik, wie Du die Daten abspeicherst. Je Datensatz erzeugst Du HTML-, HEAD- und BODY-Tags. Das ist doch keine vernünftige HTML-Datei. Was machst Du übrigens, wenn Du später mal das Layout der Datei anpassen möchtest? Ab 50 Datensätzen wird's lustig!
Daten sollten getrennt vom Layout gespeichert werden!
$fp = fopen('daten.html', 'r');
fpassthru($fp);
Hier öffnest Du eine Datei und machst sie nicht wieder zu.

Was passiert, wenn auf dem späteren Webserver register_globals auf off steht? Dann stehst Du hier wieder auf der Matte und fragst, warum Dein Script nicht mehr geht.

All sowas vertreibt mit die Lust daran, Dein Script zu verbessern. Es sind einfach zu viele Fehler darin. Und das resultiert aus Deinen mangelnden Grundkenntnissen!

Mit meinem vorangegangenen Post wollte ich Dich freundlich darauf hinweisen, dass einfaches Drauflosprogrammieren falsch ist. Entweder Du siehst es ein oder nicht. Ich wollte Dich damit nicht persönlich angreifen (im Gegensatz zu Dir).

snuu
 
Zuletzt bearbeitet:
Zurück