Entwickler-Ecke

Off Topic - Funktionen in PHP aufrufen


hibbert - Di 25.11.03 22:09
Titel: Funktionen in PHP aufrufen
Hi,
ich habe mal wieder eine Frage zum Thema PHP:

Ich habe eine PHP Seite erstellt. Im Quelltext findet man eine Funktion mit dem Namen "Test".

Nun habe ich noch auf der gleichen Seite ein Formular erstellt.

Wie kann ich jetzt, wenn der User den Submit Button angeklickt hat, die Functin "Test" aufrufen?
Dann soll diese Funktion, die eingegebenen Werte aus dem Formular übernehemen und verarbeiten.

isr das möglich, wenn ja, wie?

thx hibbert


Anonymous - Di 25.11.03 22:11

du musst in einem formular in action einfach den gleichen dateinamen oder

php_self angeben!


Mehr nicht!


Gruß

ixtreme


hibbert - Di 25.11.03 22:30

mhh, das funzt irgendwie net so ganz, so sieht mein quelltext aus:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
<?php
function test ($abc)
{
    echo "Beispielfunktion.\n";
    return $retval;
    echo $name;
}

?>

<form name="form1" action="php_self">
    <p><input type="text" name="name"><input type="submit" name="formbutton1"></p>
</form>

doch da passiert nichts, doch ich bekommen meine 404 Fehlerseite angezeigt (Seite konnte nicht gefunden werden).

und nun?

Hibbert


UC-Chewie - Di 25.11.03 23:34

Du musst als Form-Action den Namen der ausführenden Seite angeben.
Das erledigt die Variable $PHP_SELF.


Chatfix - Mi 26.11.03 09:24

Allerdings wird deine Funktion nicht aufgerufen.
Richtig es würde dann so Aussehen:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
<?php 
function test ($abc) 

    echo "Beispielfunktion.\n"; 
    return $retval; 
    echo $abc; 


if($send == 1) test($name);

echo "<form name=\"form1\" action=\"$php_self\">";

?> 
    <p><input type="text" name="name">
    <input type=hidden name=send value=1>
    <input type="submit" name="formbutton1"></p> 
</form>


Ich hab noch ein unsichtbares Form-Element reingenommen, damit die Funktion auch nur beim Knopfdruck ausgeführt wird...


hibbert - Mi 26.11.03 14:26

cool, danke... :D

hibbert


blackbirdXXX - Mi 26.11.03 15:56

Du musst kein unsichtbares Formelemtent nehmen. Du kannst auch


Quelltext
1:
 if (isset(formbutton1)) test($name);                    


machen.


Chatfix - Mi 26.11.03 16:17

Stimmt das erspart einiges an Zeilen... Thx! So bin ich noch gar nicht rangegangen *gg*

Gleich mal meine Scripts umschreiben...