Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

2 Buttons in einem Formular

Frage Entwicklung PHP

Mitglied: Flunz

Flunz (Level 1) - Jetzt verbinden

12.09.2006, aktualisiert 13.09.2006, 4292 Aufrufe, 9 Kommentare

Hi alle zusammen!

Ich hoffe ich habe bei der suche nichts übersehen und poste hier das thema nicht doppelt.

hab eine html-seite mit einem eingabeformular die die eingegeben werte per submitbutton "insert" an eine "eintrag.php" übergibt, die das ganze dann in die datenbank feuert. soweit funtzts.
nun hab ich aber auch einen submitbutton "update" der in abhängigkeit von eingegebem vor-, nachnamen und pwd den ensprechenden datensatz suchen und ändern soll. der übergibt das ganze auch an die eintrag.php. in dieser hab ich also einen "insert"-teil, und einen "update"-teil. nun will ich mit einer if-abfrage prüfen ob vorher der insert oder der update button gedrückt wurde und den enstsprechenden teil ausführen. man ahnt es schon ->klappt nicht. kommentiere ich einen der beiden teile aus, funktioniert der andere problemlos, liegt also nicht an der eigentlichen funktion.
hab das zusammengeschmissen, da ich für neueintrag und update das gleiche formular verwenden wollte. in diesem muss ich ja nun angeben an welche datei der inhalt übergeben werden soll. oder kann ich auch dem button allein sagen wo er den krempel hinschicken soll? weil dann würden sich ja eine eintrag.php und eine update.php eignen.

danke für eure hilfe,

gruß Flunz
Mitglied: Dani
12.09.2006 um 13:39 Uhr
Hi,
setz einfach bei den Beiden Button einen anderen value Wert.
01.
...value='test1' name='test1'... 
02.
...value='test2' name='test2'...
Abfragen kannst du das dann so:
01.
if($_POST['test1']) 
02.
03.
  ... 
04.
  insert 
05.
06.
else if($_POST[test2']) 
07.
08.
 update 
09.
10.
11.
.. 
12.
13.
.
Wer doch das INSERT und UPDATe in eine Seite. Somit kannst du dir das "ACTION" sparen!


Gruß
Dani
Bitte warten ..
Mitglied: filippg
12.09.2006 um 13:45 Uhr
Hallo,

ich würde folgendes versuchen: du kannst den Submit-Buttons ja Namen geben. Bennen sie unterschiedlich. Beide senden dann an die gleiche Seite. Dort kannst du mit if(isset($_POST['Button1']) bzw. if(isset($_POST['Button2']) überprüfen, welcher gedrückt wurde, und dann entsprechend reagieren. Zumindest glaube ich, dass das so geht .
Wenn es nicht funktioniert würde mir noch einiges mit JavaScript einfallen, aber das ist tendentiell unsauberer (schon weil JS ja angeblich nicht auf jedem Rechner aktiviert ist).

Filipp
Bitte warten ..
Mitglied: Flunz
12.09.2006 um 13:52 Uhr
habe das im moment ungefähr folgendermaßen:

eingabeseite xy.htm:

<form method="post" action ="eintrag.php" class="form">

.....
eingabefelder
.....

<input type="submit" id="submit" name="abschicken" value="Speichern" />
<input type="submit" name="update" value="Vorhandene Daten ändern" />
</form>

eintrag.php:

if(isset($_POST['abschicken']) { d.h. hier auf den value, also "Speichern" beziehen?)

include xy.htm

datenbankverb

insert etc....... }

if(isset($_POST['update']) {
d.h. hier auf den value, also "Vorhandene Daten änern" beziehen?)

include xy.htm

datenbankverb

update etc....... }


flunz
Bitte warten ..
Mitglied: filippg
12.09.2006 um 13:56 Uhr
Genau so meinte ich es
Und... funktioniert es?

Filipp
Bitte warten ..
Mitglied: Flunz
12.09.2006 um 13:59 Uhr
sorry wenn ich jetzt nochmal doof frage, aber:

bei dem if(isset($_POST['XY']) <- XY=name oder value des Buttons?

momentan ab ich da den name drin stehen, und da klappt es leider nicht, sollte es?

flunz
Bitte warten ..
Mitglied: filippg
12.09.2006 um 14:13 Uhr
momentan ab ich da den name drin stehen, und
da klappt es leider nicht, sollte es?
Jaaaa.... zumindest hatte ich das so in Erinnerung. Was klappt denn nicht? Erfüllt er beide Conditions oder keine? Wenn keine: dann solltest du die Schreibweise nochmal überprüfen. Lass dir doch mal sämtliche gepostenten Variablen ausgeben (print_r($_POST)).
Auch eine Möglichkeit: beide gleich benennen und dann Abfrage wie
if(isset($_POST['submit']) AND $_POST['submit'] = 'Update')
und
if(isset($_POST['submit']) AND $_POST['submit'] = 'Eintragen')
wobei "Update" und "Eintragen" die values sein sollten. Aber eigentlich sind ja die Values hier nur für die Beschriftung der Buttons, während man sie über den Namen auseinanderhalten können sollte.

Filipp
Bitte warten ..
Mitglied: Flunz
12.09.2006 um 14:24 Uhr
joah dachte ich auch (value=beschriftung und name=indentifizierung)
wahrscheinlich liegt der fehler wirklich im kleinsten datail und nicht an einer prinzipiellen sache.
werde das heute abend nochmal durchrödeln, danke erst mal für deine hilfe, werde mich melden was rauskommt und evtl. nochmal um hilfe schreien ;)

lg, flunz
Bitte warten ..
Mitglied: Guenni
13.09.2006 um 01:14 Uhr
@Flunz

Hi,

joah dachte ich auch (value=beschriftung und name=indentifizierung)

Nicht ganz.

Du kannst alle Buttons z.B. cmd benennen, value aber unterschiedlich belegen, z.B.:

01.
<input type="submit" name="cmd" value="Senden"> 
02.
<input type="submit" name="cmd" value="Aendern">
Dann kannst du deine Aktionen wie folgt steuern....

01.
if($cmd=="Senden"){ 
02.
 mache dies und das.... 
03.
04.
 
05.
if($cmd=="Aendern"){ 
06.
 tue dieses und jenes.... 
07.
}
...oder:

01.
switch($cmd){ 
02.
 case "Senden":mache dies und das....;break; 
03.
 case "Aendern":tue dieses und jenes....;break; 
04.
}
$_POST['submit'] bringt nix.

Test?

Erstelle eine Seite mit einer Form, schick das Form ab und lass
dir mit echo $_POST['submit']; das Ergebnis anzeigen .

Auch wenn es im Moment nach mehr Arbeit aussieht, verschiedene Aktionen
von Formularen wie Ändern, Einfügen etc., lasse ich immer auf versch. Seiten
ausführen, siehe --> http://www.administrator.de/MySQL_Datens%E4tze_mit_php-Formular_%E4nder ....

So kannst du auch Änderungen leichter durchführen, als wenn du alles in ein kilometerlanges
Script packst, das von If's und Else's" nur so strotzt.

Gruß
Günni
Bitte warten ..
Mitglied: Flunz
13.09.2006 um 07:32 Uhr
Also erst einmal vielen Dank an alle, habe es nun zum Laufen gebracht. :D

habe mich letzten endes für die switch-case variante entschieden.


dankeschöööööööööööön!

lg, Flunz
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Microsoft Office
Formular Autofill - Infopath (1)

Frage von TlBERlUS zum Thema Microsoft Office ...

JavaScript
gelöst Range (Slider) Javascript mit Plus-Minus Buttons (3)

Frage von internet2107 zum Thema JavaScript ...

Java
gelöst Multible Switch Buttons zur übernahme in Kind Activity (4)

Frage von bobcat22 zum Thema Java ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...

DSL, VDSL
DSL-Signal bewerten (8)

Frage von SarekHL zum Thema DSL, VDSL ...