Input-Feler und Session

Ozzy Ozborn

Erfahrenes Mitglied
Hi, vielleicht hat ja jemand von Euch eine Idee, mit der er/sie mir helfen könnte.
Ich habe ein Formular, und die eingegebenen Daten werden in einer Session gespeichert (immer, wenn man auf den Submit-Button klickt). Soviel zur Theorie, nur in der Praxis klappt es nicht, weil er Änderungen einfach nicht übernimmt. Ich habe jetzt an sich alles ausgeschlossen, bis auf folgendes: kann es sein, da ich beim laden der Formularseite die Daten aus der Session wieder per
value="<? echo $wert; ?>
in die Felder schreibe, er beim senden wieder diesen value nimmt, und nicht den neu eingetragenen Wert, den man ins Input-Feld schreibt? Oder woran könnte es sonst liegen, dass er die Veränderungen nicht speichert?

Bin für jeden Ratschlag dankbar!
Ozzy
 
Hi Ozzy,

vielleicht kannst Du ja mal Dein Script posten, damit man sich mal ein Bild davon machen kann.

Gruß

Torsten
 
Klar, hier der Code:


<?
session_start();
?>

<form name="einstellen" action="<?PHP echo $PHP_SELF; ?>" enctype="multipart/form-data" method="post">

<?php
if ($send) {

$_SESSION['typ'] = "$typ";
$_SESSION['preis'] = "$preis";
...

Dateiupload...

header('location: vorschau.php);
}
?>

<input type="Text" name="typ" style="width:75px;" value=<? echo $typ; ?>>
<input type="Text" name="preis" style="width:75px;" value=<? echo $preis; ?>>

...

<input name="send" type="submit" value="Vorschau">
</form>
 
Ozzi, genau das gleiche Problem habe ich auch. ;)

Nur will ich bei mir ein Installationscript schreiben, bei dem man mit drei scritten MySQL-Tabellen erstellt und der name eingetragen wird.

Nur klappt das allesnciht so wie ich das will. :>

PHP:
<?php
session_start();
include ("mysql.php");
include("settings.php");

		if($usertable_prefix != "")
			{
				$usertable_prefix = $usertable_prefix."_";
			};
		if($polltable_prefix != "")
			{
				$polltable_prefix = $polltable_prefix."_";
			};
		if($forum_prefix != "")
			{
				$forum_prefix = $forum_prefix."_";
			};
		if($comments_prefix != "")
			{
				$comments_prefix = $comments_prefix."_";
			};
		if($newstable_prefix != "")
			{
				$newstable_prefix = $newstable_prefix."_";
			};
		if($settingstable_prefix != "")
			{
				$settingstable_prefix = $settingstable_prefix."_";
			};

if(!isset($schritt))
	{
		echo "Schritt: 1<br>";
		echo "Hier installieren Sie auf einfachem Wege einen Administrator, der die Seite verwaltet. 
				Geben Sie dazu bitte Ihren Benutzernamen und Ihr gewünschtes	Passwort ein. 
				Das Passwort wird verschlüsselt gespeichert.
				
				<form action='$_PHPSELF' method='POST'>
					<input type='text'  name='benutzername'  class='forms'><br>
					<input type='password' name='passwort1'  class='forms'><br>
					<input type='password' name='passwort2' class='forms'><br>
					<input type='hidden' name='schritt' id='schritt' value='1'>
					<input type='submit' class='login' value='weiter > ' name='login'>
				</form>
			";
			session_register ("benutzername");
			session_register ("passwort1");
			session_register ("passwort2");
		}
		elseif($schritt==1)
		{
			if($passwort1 != $passwort2)
				{
					echo "Die eingegebenen Passw&ouml;rter stimmen nicht &uuml;berein.";
					echo "<a href='javascript:history.go(-1)'>zur&uuml;ck";
				}
				else
				{
					echo "
							Wenn Sie auf 'Fertigstellen' klicken, werden alle wichtigen MySQL-Tabellen angelegt und Ihr Benutzername mit Ihrem Passwort gespeichert.
							<form action='$_PHPSELF' method='POST'>
								<input type='hidden' name='schritt' id='schritt' value='2'>
								<input type='submit' class='login' value='Fertigstellen' name='fertigstellen'>
							</form>
							";
							
							
					echo $benutzername;
					echo $passwort1;
					echo $passowrt2;
				}# ende if(passwortvergleich)
		}#ende schritt1
		elseif($schritt==2)
		{//hier werden die Tabellen westellt
		
		
					echo $benutzername;
					echo $passwort1;
					echo $passowort2;

		
		
				$new = "INSERT INTO ".$usertable_prefix.$usertable_name." (name, pw, rang) VALUES ('$benutzername', '$passwort', '10')";
				mysql_query($new) OR die(mysql_error());
				mysql_close();
			};	
session_destroy();
?>
 
Also ich hab es jetzt hinbekommen:

$_SESSION['typ'] = $_POST["typ"];

Probier es doch mal bei Dir aus, vielleicht es ja auch...

Ozzy
 
Und ich habe es so gemacht, dass die $_POST["Vars"] in Inputs geschrieben wurden, die aber hidden als Typ haben.
 
Zurück