[html/php]durch formular php funktion aufrufen

Roland

Enthusiast
Thread Starter
Mitglied seit
04.12.2003
Beiträge
891
Hi zusammen!
Das ist sicher trivial, aber ich bin wohl grad zu blöd, was entsprechendes zu finden:
wie teile ich dem form mit, dass es bei klick auf submit eine bestimmte function ausgeführt wird? ich kenne nur die möglichkeit, ne bestimmte php datei zu laden, aber nicht eine einzelne funktion daraus.
sieht momentan so aus:
<form name="Test" method="post" action="index.php?">
<input type="submit" name="submit" value="Speichern" />
thx!
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
ok, passt schon. vermute es geht nicht, aber über switch und z.B. section als weiteren parameter kann ich ja sowas ähnliches erzielen..
falls jemand noch ne elegantere lösung hat, nur raus damit :)
 
PHP:
<?php
    echo '<form name="Test" method="post" action="index.php?">
<input type="submit" name="submit" value="Speichern" />
</form>';
if(isset($_POST['submit']) != ""){
  deine function();
}
?>
 
ja so ähnlich hab ichs auch, nur frag ich mit GET ab, ob section=a,b oder c ist, damit ich verschiedene Funktionen aufrufen kann.
Das mit dem POST submit frag ich aber auch ab, damit ich seh, ob der submit button gedrückt wurde. Nur scheint dies irgendwie immer der Fall zu sein. Also auch wenn ich im browser refresh drücke. Hast du da ne Idee, wie man das umgehen kann? Momentan hab ichs so gemacht, dass ich auf ne andere Seite redirecte, sobald die Funktion ausgeführt wurde (Formulardaten in SQL-Datenbank abgespeichert). Aber elegant ist das sicher nicht, und funktioniert auch nicht, wenn jemand back drückt und dann refresht.
Danke dir Nascar!
 
PHP:
if(isset($_POST['submit']) != "")

was ist denn das für ein code? isset liefert bool zurück und du vergleichst das mit nem leeren string? :hmm:
php macht zwar ne automatische typen-kovertierung, aber man kanns ja auch übertreiben...
 
bei mir funzt das kommischerweise immer :)
 
naja, is vielleicht wirklich nicht so schön :) aber das mg ich hier nicht beurteilen.
was ist mit meinem refresh zeugs?
hab mir schon überlegt, ne ID zu erstelllen, jedesmal, wenn submit gedrückt wird, welche dann mitübertragen wird und von der empfängerfunktion abgespeichert wird. Die Empfängerfunktion speichert den Eintrag dann nur, wenn die ID nicht schonmal vorkam, aber weiß noch nicht, wie ich das anstellen soll..
Aber ich komm schon noch drauf, hoff ich :)
 
Nascar schrieb:
bei mir funzt das kommischerweise immer :)

natürlich funktioniert das. das hier funktioniert auch:

if(isset($_POST['submit']) != !("bla"!="blub")) { ...

aber man kann auch einfach schreiben:

if(isset($_POST['submit'])) { ...

was
- schöner
- ein (wesentlich) besserer stil
- deutlich einfacher zu lesen
ist ;)
 
also meiner meinung nach macht man da

if(isset($_POST['var']) == "TRUE") {
<code>
}
 
das == "TRUE" kann auch wegbleiben da isset ja true oder false liefert.
 
burni87 schrieb:
also meiner meinung nach macht man da

if(isset($_POST['var']) == "TRUE") {
<code>
}

... und "TRUE" schonmal garnicht, denn "TRUE" ist ein string!
is ja grauselig was einem hier angeboten wird :rolleyes:
da wärs mir manchmal lieber php hätte feste typen für variablen :hmm:
 
Moin,
also wenn ich dich richtig verstanden habe, willst du eine Form, die sich selbst nochmal aufruft um dann etwas bestimmtes mit den Eingaben zu machen ...?

PHP:
 if(isset($_POST['submit'])) {
[...]
Hier kommt das Formular hin ...
[...]
}
else if($_POST['submit']=="blablubb") {
[...]
Hier dann das was du machen willst, wenns abgeschickt wurde ...
[...]
}
Einfach die selbe Datei beim Absenden des Formulars aufrufen ...

MfG TrOuble

Ädit :
Der Code wird ja wie der letzte Müll eingerückt hier im Forum ... sorry dafür
 
Zuletzt bearbeitet:
DoubleJ schrieb:
... und "TRUE" schonmal garnicht, denn "TRUE" ist ein string!
is ja grauselig was einem hier angeboten wird :rolleyes:
da wärs mir manchmal lieber php hätte feste typen für variablen :hmm:


was denn dann wenn nicht true ?
 
burni87 schrieb:
was denn dann wenn nicht true ?

TRUE und nicht "TRUE"... wiegesagt "TRUE" ist ein string. ich dachte eigentlich es gehört zu den grundsätzen zu wissen, das einfache und doppelte anführungszeichen (' und ") strings (zeichenketten) einschließen :hmm:

aber da if (...) sowieso boolean erwartet, kann man das == TRUE gleich weglassen. und == FALSE oder != TRUE schreibt man auch nicht, da setzt man ein ! (ausrufezeichen) vor die bedingung.
 
Zuletzt bearbeitet:

Ähnliche Themen

Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh