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, 2150 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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (38)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Netzwerke
VPN-Server einrichten PPTPD-Einrichtung gescheitert (15)

Frage von MIlexx zum Thema Netzwerke ...