Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 393 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

Mckbrother

Haudegen

Dabei seit: 04.02.2010

Beiträge: 515

 

1 Zum Seitenanfang

Montag, 27. Dezember 2010, 12:59

HTML-Formular an PHP-Funktion senden

Moin Moin,
ist es möglich ein HTML-Formular an eine PHP-Funktion zu senden?
Wenn ja wie?

Danke, Mckbrother
Wo kämen wir hin,
wenn jeder sagen würde:
"wo kämen wir hin",
und niemand ginge um zu schauen,
wohin wir kämen,
wenn wir gingen.
 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

2 Zum Seitenanfang

Montag, 27. Dezember 2010, 13:04

hä? Geht es ein wenig genauer?

PHP-Quelltext

1
deine_funktion("<form> .... </form>");


Das wirst du ja nicht meinen.

~!__/
..o.o

This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
 

Mckbrother

Haudegen

Dabei seit: 04.02.2010

Beiträge: 515

 

3 Zum Seitenanfang

Montag, 27. Dezember 2010, 13:10

Nein das meine ich nicht.
ich habe eine datei, stinknormales HTML mit einem Formulaar beispielsweise

HTML

1
2
3
4
5
<form action="???????????" method="POST" name="xyz">
<input type="text" name="username" />Username<br />
<input type="password" name="password" />Passwort<br/>
<input type="submit" value="Login">
</form>


Mein problem ist jetzt, wie ich es hinkriege dass das Formular an die von mir erstellte und ingecludete PHP-Funktion "Login" geschickt wird.
login() währe beispielsweise:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
session_start();

$verbindung mysql_connect("blabla""blabla" "blabla")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("blabla") or die ("Datenbank konnte nicht ausgewählt werden");

$username $_POST["username"];
$password md5($_POST["password"]);

$abfrage "SELECT username, password FROM login WHERE username LIKE '$username' LIMIT 1";
$ergebnis mysql_query($abfrage);
$row mysql_fetch_object($ergebnis);
$usernumber $row->usernumber;


if($row->passwort == $passwort)
    {
    $_SESSION["blabla"] = $username;
    header("Location: blabla/blabla/blabla.blabla");
    }
else
    {
    header("Location: blabla/blabla/blabla.blabla");
    }

?>


Ich hoffe das ist verständlich :)

Gruß,
Mckbrother
Wo kämen wir hin,
wenn jeder sagen würde:
"wo kämen wir hin",
und niemand ginge um zu schauen,
wohin wir kämen,
wenn wir gingen.
 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

4 Zum Seitenanfang

Montag, 27. Dezember 2010, 13:39

Es wäre schön diesen "include"-mechanismus zu sehen, an sich müssten sämtlche Variablen nach includes zur Verfügung stehen.

~!__/
..o.o

This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
 

Mckbrother

Haudegen

Dabei seit: 04.02.2010

Beiträge: 515

 

5 Zum Seitenanfang

Montag, 27. Dezember 2010, 14:13

Ok also
index.php:

PHP-Quelltext

1
2
3
4
5
6
<?php
include "includes/functions.php";  //Hier liegt die Login funktion
include "includes/layout/header.php";  //Layout bis zum Content
include "includes/pages.php";  //Datei, dort wird aus den GET-anweisungen z.B.:"index.php?page=gbook" mittels einer mysql db die passende Content seite includiert.
include "includes/layout/footer.php";  //Layout ab dem content
?>


Soo, geht man nun davon aus, dass "index.php?page=login aufgerufen wird, wirl logischerweise die Datei "login.tpl" includiert, diese steht oben schon.
Es läuft praktisch so ab: pages.php liest $_GET aus->sucht nach dem entsprechenden Eintrag in der DB->dieser liefert das Ergebnis welches lautet das die Datei login.tpl includiert werden muss.

Sorry für die viele Arbeit, ich dachte das wäre mal eben gelöst... :(

Beste Grüße und vielen Dank,
Mckbrother
Wo kämen wir hin,
wenn jeder sagen würde:
"wo kämen wir hin",
und niemand ginge um zu schauen,
wohin wir kämen,
wenn wir gingen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Mckbrother« (27. Dezember 2010, 14:13)

 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

6 Zum Seitenanfang

Montag, 27. Dezember 2010, 14:29

Und verstehe ich dich jetzt richtig, dass du "nur" $_GET="login" brauchst, damit das ganze theoretisch funktioniert? Da gäbs dann zwei Möglichkeiten: Das einfachste wäre im action-Attribut index.php?page=login anzugeben.

~!__/
..o.o

This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
 

Mckbrother

Haudegen

Dabei seit: 04.02.2010

Beiträge: 515

 

7 Zum Seitenanfang

Montag, 27. Dezember 2010, 14:40

Und verstehe ich dich jetzt richtig, dass du "nur" $_GET="login" brauchst, damit das ganze theoretisch funktioniert? Da gäbs dann zwei Möglichkeiten: Das einfachste wäre im action-Attribut index.php?page=login anzugeben.

Nein leider nicht, das mit dem index.php?page=login bezieht sich auf das includen der Seiten.
Mit index.php?page=login rufe ich nur das Formular auf. Wenn ich auf den submit-button drücken, wird das Formular ja an die im "Action-Attribut" angegebene Adresse gesendet. Ich möchte das Formular aber nicht an die Datei einloggen.php schicken, sondern das Einloggen über eine Funktion regeln.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function login()
{
    $verbindung mysql_connect("blabla""blabla" "blabla")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("blabla") or die ("Datenbank konnte nicht ausgewählt werden");

$username $_POST["username"];
$password md5($_POST["password"]);

$abfrage "SELECT username, password FROM login WHERE username LIKE '$username' LIMIT 1";
$ergebnis mysql_query($abfrage);
$row mysql_fetch_object($ergebnis);
$usernumber $row->usernumber;


if($row->passwort == $passwort)
    {
    $_SESSION["blabla"] = $username;
    header("Location: blabla/blabla/blabla.blabla");
    }
else
    {
    header("Location: blabla/blabla/blabla.blabla");
    }

}


Nun will ich wissen was im action-Attribut stehen muss, damit das Formular an die Funktion gesendet wird. Mit action="<?PHP login(); ?>" geht es nicht..
Ich weiß nicht wie ich es noch erklären soll :(

Gruß, Mckbrother
Wo kämen wir hin,
wenn jeder sagen würde:
"wo kämen wir hin",
und niemand ginge um zu schauen,
wohin wir kämen,
wenn wir gingen.
 

Skittles

Moderator

Dabei seit: 14.02.2004

Beiträge: 3 014

 

8 Zum Seitenanfang

Montag, 27. Dezember 2010, 14:52

Dann eine neue Datei anlegen, die über action aufrufen lassen und login(); ausführen lassen.

~!__/
..o.o

This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
 

elchrz

Foren As

Dabei seit: 06.10.2010

Beiträge: 99

 

9 Zum Seitenanfang

Montag, 27. Dezember 2010, 15:05

Hallo, du kannst Post-Inhalte nicht an eine function senden. Du sendest sie immer an ein serverseitiges (PHP-)Skript. Und das muß dann entscheiden, was weiter geschehen soll.
Allerdings stehen die Post-Inhalte immer global in $_POST zur Verfügung. Das mußt du einfach ausnutzen.

include einfach standardmäßig deine login function in der index.php. Wenn ich dich richtig verstehe, dann ist login() sowieso eine funciton in functions.php und wird immer includiert?!
Dann brauchst du sie nur noch aufzurufen!!!

PHP-Quelltext

1
2
3
4
5
6
7
8
<?php
include "includes/functions.php";  //Hier liegt die Login funktion
if(isset($_POST["username"]) && isset($_POST["password"])){
    login();
}
include "includes/layout/header.php";  //Layout bis zum Content
//  .....
?>


Dein Forumlar sendest du dann an die index.php. Dabei ist es unerheblich ob du noch weitere $_GET-Variablen übergibst.

HTML

1
2
3
4
5
<form action="index.php?page=567&hund=hamster" method="POST" name="xyz">
<input type="text" name="username" />Username<br />
<input type="password" name="password" />Passwort<br/>
<input type="submit" value="Login">
</form>

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »elchrz« (27. Dezember 2010, 15:05)