PHP Code wird im Formular angezeigt

Status
Nicht offen für weitere Antworten.

savvo

Mitglied
Hallo zusammen

Kann mir jemand helfen, bei meinem Formular wird der PHP Code in den Textfeldern angezeigt.

HTML:
 <!-- Formularfelder mit defaultwert aus Sessionvar. -->
			<tr> 
			  <td align="right">Vorname:</td>
			  <td><input name="f_vorname" type="text" size="30" maxlength="30" value="<?php echo $_SESSION['s_vorname']; ?>"></td>
			</tr>

Was muss ich tun damit dies nicht geschieht?

gruss
Savvo
 

Anhänge

  • untitled.GIF
    untitled.GIF
    1,8 KB · Aufrufe: 75
So konnte das Problem nach langem Suchen und Testen selber finden. Musste den Code ein wenig ändern. Obwohl ich mir nicht sicher bin ob dies eine saubere Art ist funktioniert es.

HTML:
<!-- Formularfelder mit defaultwert aus Sessionvar. -->
			<tr> 
			  <td align="right">Vorname:</td>
			  <td><input name="f_vorname" type="text" size="30" maxlength="30"td><?php echo $_SESSION['s_vorname']; ?></td></tr>
;)
Gruss
savvo
 
Dass dieser Code wie gewünscht funktioniert, kann ich kaum glauben.... koscher ist er 100%ig nicht.

Der zuerst gepostete Codeschnipsel scheint so korrekt zu sein.
Wenn du sicher bist, dass das Skript überhaupt geparst wird, müsstest du mal mehr davon zeigen... aus dem Ausschnitt ist, wie gesagt, kein Fehler ersichtlich.
 
Hallo,

da ich keine grosse PHP Erfahrung habe würde mir dies schon interessieren ;-) wieso es auf dieser Weise funktioniert. Hier ist der Code:

HTML:
<!-- Session Variablen Initialisieren -->
<?php
@session_start();
 
$_SESSION['s_vorname'] = "";
$_SESSION['s_name'] = "";
$_SESSION['s_email'] = "";
$_SESSION['s_user_eingabe'] = "";
 
if( !session_is_registered($_SESSION['s_vorname']) ) {
session_register($_SESSION['s_vorname']);
}
if( !session_is_registered($_SESSION['s_name']) ) {
session_register($_SESSION['s_name']);
}
if( !session_is_registered($_SESSION['s_email']) ) {
session_register($_SESSION['s_email']);
}
if( !session_is_registered($_SESSION['s_vorname']) ) {
session_register($_SESSION['s_user_eingabe']);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>PHP</title>
</head>
 
<body>
		 <table border="0" cellpadding="0" cellspacing="4">
			<!-- Formularfelder mit defaultwert aus Sessionvar. -->
			<tr> 
			 <td align="right"><strong><font face="Arial, Helvetica, sans-serif">Vorname:</font></strong></td>
			 <td><input name="f_vorname" type="text" size="50" maxlength="50"><?php echo $_SESSION['s_vorname']; ?></td>
			</tr>
			<tr> 
			 <td align="right"><strong><font face="Arial, Helvetica, sans-serif">Name:</font></strong></td>
			 <td><input name="f_name" type="text" size="50" maxlength="50"><?php echo $_SESSION['s_name']; ?></td>
			</tr>
			<tr> 
			 <td align="right"><strong><font face="Arial, Helvetica, sans-serif">E-Mail:</font></strong></td>
			 <td><input name="f_email" type="text" size="50" maxlength="50"><?php echo $_SESSION['s_email']; ?></td>
			</tr>
			<tr> 
			 <td align="right"><strong><font face="Arial, Helvetica, sans-serif">Bemerkungen</font></strong></td>
			 <td><textarea name="f_user_eingabe" cols="40" rows="10"></textarea></td>
			</tr>
			<tr> 
			 <td>&nbsp;</td>
			 <td> <div align="left"></div>
				<input type="submit" value=" Absenden " name="f_senden"> <input type="reset" value=" Abbrechen " name="f_reset"> 
			 </td>
			</tr>
		 </table>
</body>
</html>

Besten Dank und Gruss
Savvo
 
Bloss da wird doch die Variable nicht im Formularfeld selbst angezeigt, oder :confused:

Mit mehr Code zeigen meinte ich die Version, wo der PHP-Code im Formularfeld erscheint....also das aus deinem ersten Posting.

Und wo/wie füllst du eigentlich die Session mit Werten....die Variablen sind da doch immer leer?
 
Aha, hab es falsch verstanden.

Hier hast du den Code

HTML:
<!-- Session Variablen Initialisieren -->
<?php
@session_start();
 
$_SESSION['s_vorname'] = "";
$_SESSION['s_name'] = "";
$_SESSION['s_email'] = "";
$_SESSION['s_user_eingabe'] = "";
 
if( !session_is_registered($_SESSION['s_vorname']) ) {
session_register($_SESSION['s_vorname']);
}
if( !session_is_registered($_SESSION['s_name']) ) {
session_register($_SESSION['s_name']);
}
if( !session_is_registered($_SESSION['s_email']) ) {
session_register($_SESSION['s_email']);
}
if( !session_is_registered($_SESSION['s_vorname']) ) {
session_register($_SESSION['s_user_eingabe']);
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>PHP</title>
</head>
 
<body>
		 <table border="0" cellpadding="0" cellspacing="4">
			<!-- Formularfelder mit defaultwert aus Sessionvar. -->
			<tr> 
			 <td align="right"><strong><font face="Arial, Helvetica, sans-serif">Vorname:</font></strong></td>
			 <td><input name="f_vorname" type="text" size="50" maxlength="50" value="<?php echo $_SESSION['s_vorname']; ?>"></td>
			</tr>
			<tr> 
			 <td align="right"><strong><font face="Arial, Helvetica, sans-serif">Name:</font></strong></td>
			 <td><input name="f_name" type="text" size="50" maxlength="50" value="<?php echo $_SESSION['s_name']; ?>"></td>
			</tr>
			<tr> 
			 <td align="right"><strong><font face="Arial, Helvetica, sans-serif">E-Mail:</font></strong></td>
			 <td><input name="f_email" type="text" size="50" maxlength="50" value="<?php echo $_SESSION['s_email']; ?>"></td>
			</tr>
			<tr> 
			 <td align="right"><strong><font face="Arial, Helvetica, sans-serif">Bemerkungen</font></strong></td>
			 <td><textarea name="f_user_eingabe" cols="40" rows="10"></textarea></td>
			</tr>
			<tr> 
			 <td>&nbsp;</td>
			 <td> <div align="left"></div>
				<input type="submit" value=" Absenden " name="f_senden"> <input type="reset" value=" Abbrechen " name="f_reset"> 
			 </td>
			</tr>
		 </table>
</body>
</html>

Die Variablen werden doch im Formular gefüllt, oder? Moment, ich glaube ich hab da ein kleines Durcheinander. Ich fülle die Variablen aus dem Formular, sollte also dies nicht genügen?

HTML:
 <td><input name="f_vorname" type="text" size="50" maxlength="50"></td>
</tr>
<tr> 
<td align="right"><strong><font face="Arial, Helvetica, sans-serif">Name:</font></strong></td>
<td><input name="f_name" type="text" size="50" maxlength="50"></td>
</tr>
<tr> 
<td align="right"><strong><font face="Arial, Helvetica, sans-serif">E-Mail:</font></strong></td>
<td><input name="f_email" type="text" size="50" maxlength="50"></td>
</tr>
<tr> 
<td align="right"><strong><font face="Arial, Helvetica, sans-serif">Bemerkungen</font></strong></td>
<td><textarea name="f_user_eingabe" cols="40" rows="10"></textarea></td>
</tr>

so sollte doch dies aussehen, oder?
Gruss
 
Ich fülle die Variablen aus dem Formular,

wo tust du das :confused:

Ansonsten... der Fehler, um den es hier eigentlich geht, ist aus dem Code immer noch nicht ersichtlich.

Hattest du die Datei vielleicht beim Testen über das Dateiysystem aufgerufen, und nicht über die Serveradresse?
 
Mir scheint ebenfalls alles ein wenig verwirrend. Hab mein Test über die Serveradresse laufen lassen und mit dem aktuellen Code funktioniert es einwandfrei. Obwohl ich nun nichts mehr übergebe funktioniert alles

<input name="f_name" type="text" size="50" maxlength="50">

aber wo wird hier die Variable "s_name" gefüllt? Obwohl ich den Fehler sehe verstehe ich nicht warum dies funktioniert.

Hab vermutlich heute Nacht zu lange daran gearbeitet. :)

Gruss
Savvo
 
Status
Nicht offen für weitere Antworten.
Zurück