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

PHP - Mehrere Buttons mit einem Action-Script

Frage Entwicklung PHP

Mitglied: Cocktailz82

Cocktailz82 (Level 1) - Jetzt verbinden

12.04.2013 um 22:23 Uhr, 2131 Aufrufe, 8 Kommentare

Hallo,

ich bin gerade dabei eine kleine Anwendung zu schreiben und versuche mich mit PHP. Da ich bislang nur mit VB Datenbank- GUIs geschrieben hab, hab ich noch kleine Verständnissfragen bei PHP und hoffe auf ein klein bischen Hilfe.

Also zum Problem:

ich habe eine bislang eine schon gut funktionierende Seite gebastelt. Nun habe ich ein Formular in dem ich 3 Buttons habe, die eigentlich auch etwas bewirken sollten. Allerdings machen alle 3 Buttons einfach mal garnichts ausser der "Push - Animation"

Da das ganze nun etwas wenig ist für nen Button hab ich schon etliches ausprobiert, aber es will einfach nicht klappen.
Der Code den ich dafür nutze sieht bislang so aus:

01.
<?php 
02.
include ("../php/db.php"); 
03.
?> 
04.
	<h2 class="title">Stammdaten bearbeiten - Hersteller</h2> 
05.
	</div> 
06.
 
07.
<div> 
08.
 
09.
<?php 
10.
 
11.
echo 'Bereits vorhanden : <select name="Herst_Name">'; 
12.
 
13.
$ergebnis = mysql_query("SELECT `Herst_Name` FROM `tbl_Hersteller` order by `Herst_Name`"); 
14.
 
15.
while($row = mysql_fetch_array($ergebnis)) 
16.
17.
   echo '<option value="' .$row['Herst_Name'] .'">'.$row['Herst_Name'].'</option>'; 
18.
19.
 
20.
echo '</select>'; 
21.
?> 
22.
 
23.
<form action="../php/stamm-herst.php" method="post"
24.
<br /> 
25.
 <p>Neuer Hersteller: <input type="text" name="txt_hersteller" /></p> 
26.
 <p> <br /></p> 
27.
 <p><input type="button" name="submit" value="Speichern"/> <input type="button" name="submit" value="Bearbeiten"/> <input type="button" name="submit" value="Entfernen"/></p> 
28.
</form> 
29.
		 
30.
</div>
Das die divs zu und auf gemacht werden in dem Ding liegt daran, dass die Mainseite schon welche öffnet und die hier drin geschlossen werden. Das passt soweit schon alles.

und die "stamm-herst.php" sieht dann so aus:

01.
/*<?php 
02.
switch ($_REQUEST['button']) { 
03.
    case "Speichern"
04.
        echo $_POST['txt_hersteller']; 
05.
        break
06.
    case "Bearbeiten"
07.
        echo $_POST['txt_hersteller']; 
08.
        break
09.
    case "Entfernen"
10.
        echo $_POST['txt_hersteller']; 
11.
        break;	 
12.
    case default
13.
        echo $_REQUEST['btn_herst']; 
14.
        break
15.
16.
?> 
17.
*/ 
18.
 
19.
<?php 
20.
if (isset($_REQUEST['button'])) { 
21.
echo "Bearbeiten"
22.
23.
 
24.
if (isset($_REQUEST['button'])) { 
25.
echo "Speichern"
26.
27.
 
28.
if (isset($_REQUEST['button'])) { 
29.
echo "Entfernen"
30.
31.
?>
ich kommentiere den einen Teil immer aus, um mit dem jeweils anderen dann weitere Dinge zu probieren, aber es will halt nicht. Kann mir jemand erklären was ich falsch mache? Die richtige Verarbeitung ist hier noch garnicht drin, da ich ertmal ne grundsätzlich Funktionalität hinbekommen will und daran schon scheitere.

Das blöde ist einfach, das man jemanden der noch nicht mit PHP gearbeitet hat, ziemlich viel erzählen kann, zumal mir schon kleinigkeiten wie ein vernünftiger Debugger fehlen und es da auch schoenbar keinen gibt

Naja. Aber wer lernen will muss halt viel lesen und fragen.

Wie gesagt. Wäre super wenn mir da jemand mal Tipps geben könnte wie man mehrere Buttons mit einem Script realisiert.

Danke schoonmal

Gruß

Tailz82
Mitglied: nxclass
12.04.2013, aktualisiert um 23:26 Uhr
Allerdings machen alle 3 Buttons einfach mal garnichts ausser der "Push - Animation"
01.
<input type="submit" name="button" value="Speichern" />
.. das ist ein button zum senden des Formulares.
Bitte warten ..
Mitglied: Cocktailz82
13.04.2013 um 12:38 Uhr
Also muss ich den input type in "submit" ändern und den namen anpassen oder wie versteh ich das nun?

Buttons hab ich ja grundsätzlich schon nur haben die keine Funktion. Versteh irgendwie nicht was du mir damit sagen willst.
Bitte warten ..
Mitglied: dog
13.04.2013 um 14:52 Uhr
<input type="button"

Wie du der HTML-Spezifikation entnehmen kannst:

http://www.w3.org/TR/html4/interact/forms.html#input-control-types
http://www.w3.org/TR/html4/interact/forms.html#push-button

Haben Input Type=Buttons keine Aktion, sondern sind nur für Javascript-ing gedacht.

Siehe Antwort von @nxclass

Ganz abgesehen davon:

switch ($_REQUEST['button']) {

Hier prüfst du ein Formularelement namens "button".
Dein Formularelement heißt aber:
01.
<input type="button" name="submit" value="Speichern"/> 
02.
                     ^^^^^^^^^^^^^
Und noch ein Tipp: Wenn du mehrere Submit-Aktionen brauchst, solltest du lieber einen Button (nicht zu verwechseln mit Input Type=Button) benutzen:
http://www.w3.org/TR/html4/interact/forms.html#h-17.5
Bitte warten ..
Mitglied: Arano
13.04.2013 um 14:58 Uhr
Tag,

zum senden des Formulares
Versteh irgendwie nicht was du mir damit sagen willst
Wo ist denn bei deinen Button definiert was sie beim anklicken TUN SOLLEN ?
Du hast halt einfach __nur Buttons__.

Naja. Aber wer lernen will muss halt viel lesen und fragen.
3 x selfHTML - Formulare - Buttons zum Absenden oder Abbrechen

Und um noch mal auf deine Button zu zeigen:
Zitat: http://de.selfhtml.org/html/formulare/klickbuttons.htm
Klick-Buttons haben in reinem HTML keine sinnvolle Funktion.
[...]

Also passiert unterm Strich __genau das__, was du "programmiert" hast - nichts


Schönes WE noch
~Arano
Bitte warten ..
Mitglied: Cocktailz82
16.04.2013 um 09:58 Uhr
Hallo,

erstmal Danke für die ganzen Tipps! Ich sag ja ich fange grad mit PHP an und bin es halt von VB gewohnt das ich nen Button auf ne form werfe, und dann direkt ne Funktion darein programmieren kann. Und da ist Button halt auch gleich Button... Aber gut. Dann hab ich schonmal gelernt, das bei html und php Button nicht gleich Button ist.

Zitat von Arano:
Wo ist denn bei deinen Button definiert was sie beim anklicken TUN SOLLEN ?
Du hast halt einfach __nur Buttons__.

Das, so dachte ich zumindest, ist hier definiert:

01.
<form action="../php/stamm-herst.php" method="post">  
02.
<br />  
03.
 <p>Neuer Hersteller: <input type="text" name="txt_hersteller" /></p>  
04.
 <p> <br /></p>  
05.
 <p><input type="button" name="submit" value="Speichern"/> <input type="button" name="submit" value="Bearbeiten"/> <input type="button" name="submit" value="Entfernen"/></p>  
06.
</form> 
Ich gebe ja damit an, dass er als Actionscript "../php/stamm-herst.php" verwenden soll.

Hab das ganze jetzt auch auf input typ="submit" und einen anderen Namen für die Buttons genommen. Jetzt bekomm ich allerdings nur eine weiße Seite wenn ich einen Button anklick...

Hab scheinbar noch einiges zu lernen in diesem Bereich
Bitte warten ..
Mitglied: dog
16.04.2013 um 10:27 Uhr
Jetzt bekomm ich allerdings nur eine weiße Seite

Dann schalt PHPs Error Reporting ein.
Während der Entwicklung (und nur dann) gehört immer zuerst in ein Script:
01.
<?php 
02.
error_reporting(E_ALL|E_STRICT); 
03.
ini_set('display_errors','On'); 
04.
?>
(Bei Syntaxfehlern hilft das aber auch nix mehr).
Bitte warten ..
Mitglied: nxclass
16.04.2013, aktualisiert um 13:49 Uhr
... dann gleich noch ein:
01.
var_dump($_POST); 
02.
var_dump($_REQUEST);
anhängen - um zu erkennen was vom PHP Skript empfangen wird.
Bitte warten ..
Mitglied: Cocktailz82
16.04.2013 um 17:08 Uhr
Hi.

Super. Danke schön!!

Endlich erfahr ich mal wie man ein wenig debuggen kann. Damit hab ich nämlich noch das größte Problem. Ich weiß einfach nicht was reingeht und was rauskommt.

Vielen Dank. Ich versuch mich dann mal hier durchwurschteln
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

Batch & Shell
Script zum Auflösen einer Ordnerstruktur und zurück gesucht (12)

Frage von websolutions zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...