PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Formular problem . variablen in php progg nehmen wert von html site nicht an :-( (http://www.selfphp.de/forum/showthread.php?t=4030)

Snoopy_goes_php 18.04.2003 12:10:20

Formular problem . variablen in php progg nehmen wert von html site nicht an :-(
 
Hallo,

schon seit geraumer Zeit versuche ich auf die Lösung zu kommen; doch leider ohne Erfolg.

Ich bin mir sicher das ich hier geholfen werde :-)
Weils ne Anfängerfrage ist.

Ich will nicht zuviel Code preisgeben, da das ja nicht gerne gesehen wird.

Deshalb nur auszüge:

Das steht in der html datei:

<table width="69%">
<tr>
<td colspan="2">Nickname:</td>
<td width="4%"><div align="right">*</div></td>
<td width="47%"><input name="nn" type="text" id="nn" size="25" maxlength="20"></td>
<td width="19%">&nbsp;</td>
</tr>
<tr>
<td colspan="2">Passwort:</td>
<td><div align="right">*</div></td>
<td><form name="form1" method="post" action="eingabe.php">
<input name="pw" type="password" id="pw" size="25" maxlength="12">
</form></td>
<td>&nbsp;</td>
</tr>
<tr>

Es gibt noch ne menge anderer forms also nicht nur form1. das macht der dreamweaver .

und am ende der abschicken button und der reset button. der reset button klappt auch nicht :-(

<tr>
<td colspan="2"><form name="form16" method="post" action="">
<input name="reset" type="reset" id="reset" value="Zur&uuml;cksetzen">
</form></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><form name="form17" method="post" action="eingabe.php">
<input name="abschicken" type="submit" id="abschicken" value="Abschicken">
</form></td>
</tr>


Das ist nun die Php datei eingabe.php

<html>
<body>
<?php
$nn = "Hallo";
echo $nn;
echo $pw;
echo $_GET['nn'] <-- ist betsimmt überflüssig
?>



</body>
</html>

liegt das vielleicht daran , weil es immer andere forms sind ?

Wie kann ich denn dann variablen aus anderen forms auslesen ?

Diese anderen forms liegen ja auch in der tabelle.

Ich hoffe jemand kann mir helfen . Bin newbie wenn es um php geht . in anderen sprachen habe ich schon etwas mehr erfahrung.

Schöne Grüsse

Andreas

Yzerman 18.04.2003 12:21:50

Mit $_GET warst Du schon auf der richtigen Fährte.
Nimm mal:
$_POST['nn']
$_POST['pw']
edit:

und die ACTION fehlt ja auch (im Form 16)... tsts
Du musst im ACTION des FORM-Tags schon die Datei, die die Formulardaten verarbeiten soll, angeben.
In dieser Datei kannst Du dann per $_POST['name'] die Eingaben abfragen.


c4 18.04.2003 15:43:37

Zitat:

und die ACTION fehlt ja auch (im Form 16)... tsts
Nicht richtig! Oder: Falsch! Wird kein Attribut action angegeben, so wird die aktuelle Datei selber aufgerufen.
Ich persönlich ziehe es aber trotzdem vor, dass man angibt, wer als nächstes dran sein soll.

Yzerman 18.04.2003 19:59:25

@c4:

Action steht ja da - schau halt hin... ;-)

Es steht ACTION=""

c4 18.04.2003 20:01:29

Ups. hehe. Das ist natürlich wirklich Quark.

Ich beantrage hiermir die Absolution... : )

TerAtoM 18.04.2003 20:15:07

Hallo...
 
Der "Reset" Button klappt nicht weil er zu keinem Formular zugeordnet werden kann!

Ich finde sowieso das Deine Formularseite "sehr" waghalsiges HTML darstellt.

Baue sie lieber mal so auf:

Code:

<form name="form1" method="post" action="eingabe.php">

<input name="nn" type="text" id="nn" size="25" maxlength="20">

...hier kommen jetzt ALLE anderen Eingabefelder!


<input name="reset" type="reset" id="reset" value="Zurücksetzen">

<input name="abschicken" type="submit" id="abschicken" value="Abschicken">

</form>

Also am einfachsten nur das erste und letzte FORM Tag drinn lassen und alle dazwischen LÖSCHEN!!!

Und ALLE Eingabefelder ZWISCHEN den FORM Tags einbetten (das erste eingabefeld für den Nicknamen sieht sehr danach aus als würde es gänzlich alleine dastehen ohne eine zuordnung zu einem Form TAG...)


Ach ja, Dein

$nn = "Hallo";
echo $nn;

gibt natürlich immer "Hallo" aus... vielleicht sehe das so besser aus (da doch $nn aus Deinem Forumular als Nickname übergeben wird!):

$nn = "Hallo".$nn."!";
echo $nn;

Snoopy_goes_php 19.04.2003 11:43:11

Teratom , das würde ich auch am liebsten machen, aber wie kriege ich das ganze denn dann in die tabelle auf der html site ? das soll ja schön aussehen

Kann ich nicht die variablen aus anderen forms ... ich habe ja soviele ... auch an meine abfrage eingabe.php senden ?

und noch eine Frage an Yzerman :

wo soll ich das $_POST['pw'] einbauen ?

in die html datei ?

|Coding 19.04.2003 11:50:18

richtigerweise meint er damit, dass du deine ausgabe so:

PHP-Code:

echo $_POST['variable']; 

und nicht so:

PHP-Code:

echo $variable

machen sollst. der grund ist register_globals (einstellung der php.ini).

TerAtoM 19.04.2003 15:55:53

Is einfach...
 
Zitat:

Original geschrieben von Snoopy_goes_php
Teratom , das würde ich auch am liebsten machen, aber wie kriege ich das ganze denn dann in die tabelle auf der html site ? das soll ja schön aussehen

Kann ich nicht die variablen aus anderen forms ... ich habe ja soviele ... auch an meine abfrage eingabe.php senden ?

Also am einfachsten ist es wohl wenn Du die Zeile:

<form name="form1" method="post" action="eingabe.php">

ganz am Anfang Deiner HTML Seite einfügst (noch vor den Tabellen) und das abschlusstag dazu (</form>) ganz am Schluss...

Dazwischen kannst Du ja die Input.-, Textarea.-, Submit.- und ResetTAGS in Tabellen unterbringen.

doudie 19.04.2003 16:10:26

Code:

<form name="form1" method="post" action="eingabe.php">
<table width="400" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="399">Dein Name:
<input type="text" name="newname" size="25" maxlength="90">
<br>Deine Mail: <input type="text" name="newemail" size="25" maxlength="90">
<br>Absenden: <input type="submit" name="go" value="OK">
</td>
</tr>
</table>
</form>

und dann z.B.:
if(empty($_POST[newname]) || empty($_POST[newemail]) )
{
echo "Es wurden nicht alle Felder ausgefüllt.<br>";
}


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:49:45 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.