PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : variablen werden nicht übergeben


clueless
11.02.2007, 19:15:02
hallo leute!
wie der titel es schon sagt... die variablen werden nicht übergeben..
was mach ich falsch??

das formular in html:

<html>
<head>
<title>Degressive Abschreibung mit Variablen</title>
</head>

<body>
<h1>Degressive Abschreibung mit Variablen</h1>

<form action="degressive_abschreibung_mit_variablen.php" method="POST">
Anschaffungskosten: <INPUT NAME="anschaffungskosten"> <p>
Nutzungsdauer: <INPUT NAME="nutzungsdauer"> <p>
<input type="submit">
</form>
</body>
</html>

php-datei:
<html>
<head>
<title>Degressive Abschreibung mit Variablen</title>
</head>

<body>
<h1>Degressive Abschreibung mit Variablen</h1>

<p>

<?
echo $anschaffungskosten;

echo $nutzungsdauer;
?>
</body>
</html>

am namen der php-datei kannst nicht liegen die heißt sicher "degressive_abschreibung_mit_variablen.php"

danke schonmal...

GeForce
11.02.2007, 19:47:57
Um Variable aus einem Formular zu bekommen musst du $_POST[''] verwenden

echo $_POST['Variablename'];

rarios
11.02.2007, 20:13:25
nicht umbedingt GeForce!
Aber hier hat Geforce schon recht (da ich denke, dass du an den Einstellungen von php nichts verändern kannst!)
es kann auch wie bei dir funktionieren aber dafür müsstest du dann php-einstellungen verändern.

so soltle die php datei aussehen:

<html>
<head>
<title>Degressive Abschreibung mit Variablen</title>
</head>

<body>
<h1>Degressive Abschreibung mit Variablen</h1>

<p>

<?
echo $_POST['anschaffungskosten'];

echo $_POST['nutzungsdauer'];
?>
</body>
</html>

clueless
11.02.2007, 20:34:24
ahh... sehr gut. es geht. danke!

hab noch ne frage:
kann man diese variable "$_POST['anschaffungskosten']" auch zu so einer variable ($anschaffungskosten) machen.

das ganze soll nämlich darauf rauslaufen, dass man mit den variablen rechnet.

simikolon
11.02.2007, 20:40:05
du kannst mit $_POST['anschaffungskosten'] genauso rechnen aber du kannst auch vor den berechnungen
$anschaffungskosten = $_POST['anschaffungskosten']
einbaun und dann damit weiterrechnen

clueless
11.02.2007, 21:02:18
super!vielen dank!
wenn wieder was is dann meld ich mich wieder...

rarios
11.02.2007, 21:30:25
bash, so bekommst du aber eine fehlermeldung!
simikolon hat ein wichtiges zeichen vergessen!
was für ein merkwürdiger namenszufall....

NICHT:
$anschaffungskosten = $_POST['anschaffungskosten']

SONDERN:
$anschaffungskosten = $_POST['anschaffungskosten'] ;

BenniG.
12.02.2007, 09:30:26
Ganz ordentlich gehts übrigens so:

$anschaffungskosten = isset($_POST['anschaffungskosten']) ? $_POST['anschaffungskosten'] : "";
//bzw. Langform:
if ( isset( $_POST['anschaffungskosten'] ))
{
$anschaffungskosten=$_POST['anschaffungskosten'];
} else {
$anschaffungskosten="";
}

feuervogel
12.02.2007, 09:59:05
was hat das für einen sinn in einer programmiersprache, in der ("" == NULL) true ist?

BenniG.
12.02.2007, 10:03:32
Meinst du mein isset-Zeug?
Ganz einfach, mit der Abfrage kann man error_reporting auf E_ALL stellen und wird nicht mit notices bombardiert. Sinn macht das natürlich nur, wenn man die Seite auch ohne Post-Werte aufruft. Wenn die Seite eh immer "angepostet" werden soll ist ein

if (!isset($_POST['irgendwas'])) die("Unzulässiger Aufruf");

wohl besser.

feuervogel
12.02.2007, 10:12:12
okay, man umgeht die notices...aber so wirklich ändert das nichts.