SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.08.2003, 15:54:31
spike spike ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Frankfurt am Main
Beiträge: 4
Formular / Mehrere Buttons mit BUTTON :=((

Hallo zusammen

nun habe ich es endlich geschafft und arbeite seit zwei Wochen mit und an PHP ... und habe ASP / .NET mal auf Seite gelegt :=))

Meine Frage für die ich auch nach längerem Suchen keine Antwort gefunden habe:

Ein Formular enthält mehrere 'Buttons' die mit BUTTON deklariert (also _nicht_ input type='submit') sind.

Das aufgerufene Script sollte ja nun in der Lage sein zu ermittlen welcher der Buttons der User geklickt hat ?!?
Leider haben alle Variable $_POST['xxx'] immer den Wert des im Formular deklarierten Buttons ... also werden anscheinend immer alle Werte gepostet :=((

Mit Buttons der klassichen Art 'input' ist die Fallunterscheidung problemlos möglich.

Beispiel:
PHP-Code:
echo ("<button class='formbutton' name='xxx' type='submit' value='xxx'>");
echo(
"XXX");
echo(
"</button>");
echo (
"<button class='formbutton' name='aaa' type='submit' value='aaa'>");
echo(
"AAA");
echo(
"</button>"); 
Im aufgerufenen Script sind dann immer beide mit $_POST['xxx'] und $_POST['aaa'] abfragbar ... und ich kann nicht unterscheiden welche Funktion der Anwender eigentlich wollte.

Hat da jemand eine Idee?

Besten Dank im voraus!

Michael
__________________
Der Kopf ist rund damit das Denken die Richtung ändern kann ...
Mit Zitat antworten
  #2  
Alt 18.08.2003, 17:45:42
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi spike,

weiss nicht ob das so, die Lösung ist. Funktionieren tut's:

Jeder <button> kriegt seine eigene <form action...>
PHP-Code:
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
echo (
"<button class='formbutton' name='xxx' type='submit' value='xxx'>");
echo(
"XXX");
echo(
"</button>");
echo 
"</form>";
echo 
"<form action='".$_SERVER['PHP_SELF']."' method='post'>";
echo (
"<button class='formbutton' name='aaa' type='submit' value='aaa'>");
echo(
"AAA");
echo(
"</button>");
echo 
"</form>";

echo 
"AAA: ".$_POST['aaa'];
echo 
"<br>";
echo 
"XXX: ".$_POST['xxx']; 
Gruss

chris17
Mit Zitat antworten
  #3  
Alt 18.08.2003, 18:03:02
Ben20
Guest
 
Beiträge: n/a
Geht auch so: Einfach den beiden Buttons den gleichen Namen (attribut name) geben, dann ist der Wert von name eindeutig, da nur der geklickte zählt (oder zumindest zählen sollte ;-) )
Mit Zitat antworten
  #4  
Alt 18.08.2003, 20:59:13
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hihihi,

ja genau, so geht's auch. :-)
Und falls man dann doch die verschiedenen Variablennamen braucht, könnte man variable Variablennamen ins Spiel bringen...

Geändert von chris17 (18.08.2003 um 21:14:53 Uhr)
Mit Zitat antworten
  #5  
Alt 19.08.2003, 08:43:37
spike spike ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Frankfurt am Main
Beiträge: 4
Hallo Chris17 + Ben20

Danke für eure Antworten ...
Der Trick mit einer Form für jeden Button funktioniert tatsächlich ist aber nicht praktikabel da es das layout 'zerlegt' ...

Interessant ist aber, das - zumindest bei mir - das _nicht_ so läuft wie z.B: Ben20 geschrieben hat. Identischer Name etc funktioniert alles nicht, der übergebene Wert nach dem Submit ist IMMER der Wert des Buttons der als letzter in der Form _definiert_ wurde.

Ist da draussen jemand bei dem es _funktioniert_ - eventuell liegt es ja an meiner Konfiguration - also der meiner Systeme :=))

Danke für die Hilfe und Ideen

Gruesse
Michael
__________________
Der Kopf ist rund damit das Denken die Richtung ändern kann ...
Mit Zitat antworten
  #6  
Alt 19.08.2003, 09:49:33
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi spike,
Zitat:
...tatsächlich ist aber nicht praktikabel da es das layout 'zerlegt' ...
Wenn Du mit HTML-Tabellen arbeitest, hilft's manchmal die <form>-Tags "ausserhalb" oder "zwischen" den Tabellen-Tags zu platzieren.
PHP-Code:
<!-- Die <tdwird "aufgebläht"... -->
<
table border="1">
    <
tr>
        <
td>
            <
form action="test.php" method="post">
            <
input type="submit">
            </
form>
        </
td>
    </
tr>
</
table>
<!-- 
Soisses besser... -->
<
table border="1">
    <
tr>
        <
form action="test.php" method="post">
        <
td>
            <
input type="submit">
        </
td>
        </
form>
    </
tr>
</
table
Beim Opera7 oder Netscape7 wirkt es sich nicht aus.

Gruss
Mit Zitat antworten
  #7  
Alt 21.08.2003, 17:05:32
spike spike ist offline
Anfänger
 
Registriert seit: Aug 2003
Ort: Frankfurt am Main
Beiträge: 4
Hi Chris17

jo, so bleibt das Layout erhalten aber insgesamt natürlich eher ein unschöner Source ... daher werde ich meine Funktionen mit normalen Submit's und wenn ich mal wieder zu viel Zeit habe mit Image's bauen.

Danke für die HIlfe :=))

Bis dann
Spike
__________________
Der Kopf ist rund damit das Denken die Richtung ändern kann ...
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:10:59 Uhr.


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


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt