PHP-Befehle ausführen wenn ein Link bzw. Button angeklickt wird

  • #1
G

Game12

Bekanntes Mitglied
Themenersteller
Dabei seit
07.01.2005
Beiträge
436
Reaktionspunkte
0
Hi @ all,

Ist es möglich einen Link oder Button in HTML zu definieren, und nur wenn dieser angeklickt wird PHP befehle auszuführen?(wenn der Button angeklickt wird, dann führe die PHP befehle aus )


und wenn ja wie?

[br][br]Erstellt am: 21.05.07 um 08:30:05
[br]kann natürlich auch in PHP oder JS geschrieben sein...
 
  • #2
Wenn die Seite in den Browser geladen ist kannste keine PHP-Befehle mehr ohne Reload ausführen, egal ob der Button ein JavaScript oder sonstwas ausführt.

Natürlich gibt es, wie überall, eine Ausnahme ;)

Stichwort AJAX ;)
 
  • #3
gegen ein reload habe ich ja garnichts...
PCDConny schrieb:
Wenn die Seite in den Browser geladen ist kannste keine PHP-Befehle mehr ohne Reload ausführen, egal ob der Button ein JavaScript oder sonstwas ausführt.

jetzt wo du das sagst ist es auch für mich einleuchtend... Ich habe ja garnichts gegen ein reload, es muss halt nur eine variable einen anderen wert zugewiesen bekommen als zuvor...

edit: und die sollte nicht via GET übergeben werden...
 
  • #4
Dann schick doch die Variable mit einem Formular auf die Reise ;)

Code:
<form action=irgendwohin_oder_gleiche_datei.php method=post>
 <imput type=hidden name=variableABC value=123 />
 <input type=submit name=auf_gehts value=Senden />
</form>

Kleines 1x1 der Web-Programmierung :°
 
  • #5
Danke erstmal ;)

ja das gefällt mir schon sehr gut, kann man statt der Adresse (action=irgendwohin_oder_gleiche_datei.php) auch einfach sagen, dass die gleiche Seite aktualisiert werden soll? und wenn ja wie?
 
  • #6
Code:
action=#
 
  • #7
ah danke....
 
  • #8
hmmmm jetzt habe ich schon wieder ein Problem damit:

ich habe eine Datenbank, die über eine Schleife in PHP ausgegeben wird... nun wollte ich jeder Zeile einen edit Button geben.... da die Buttons aber alle gleich heißen sollen geht das ja nicht so gut....

bis jetzt habe ich in jede Spalte <input type=submit size=10 value=$id name=edit> eingefügt das Problem ist dabei nur, dass dann die Buttons $id heißen, was sie aber nicht sollen.
 
  • #9
Game12 schrieb:
bis jetzt habe ich in jede Spalte <input type=submit size=10 value=$id name=edit> eingefügt das Problem ist dabei nur, dass dann die Buttons $id heißen, was sie aber nicht sollen.
Poste doch mal den Code, so kann man nur raten...allerdings vermute ich mal ich weiß wo der Fehler liegt. Schreib es mal so:
Code:
<input type=submit size=10 value=<?=$id;?> name=edit>
 
  • #10
neenee daran liegt es nicht ich habe schon die \ im echo gesetzt. - es funktioniert ja auch.... nur hätte ich lieber edit auf dem Button stehen als $id. Der Code ist schon 600 Zeilen lang, ich schicke mal nur den ausschnitt:

Code:
  echo <br><br>Versionen:<br><br>;
  echo <table border=\1\>
     <tr><td>Edit</td><td>Datum</td><td>Zeit</td></tr>;
  
  while($ds = mysql_fetch_object($sql))
  {
   $zeit = $ds -> zeit;
   $datum = $ds -> datum;
   $id = $ds -> id;
   echo <tr><td><input type=\submit\ size=\10\ value=\$id\  
   name=\edit\></td><td>$datum</td><td>$zeit</td></tr>;
  }
  echo </table>;

edit: Ich habe natürlich ordnungsgemäß mit MySQL connected....
 
  • #11
zum Bleistift:
Code:
<?php
if($_POST[edit]) {
	$id = key($_POST[edit]);
	echo $id;
}
?>
<hr />
<form action=# method=post>
<?php
for($id = 0; $id < 10; $id++) {
	echo-><input type=submit size=10 value=Edit name=edit['.$id.']><br />';
}
?>
</form>

:° :°
 
  • #12
danke ;)

Edit:

aber eine Frage habe ich dazu noch...

bei PHP.net steht: key() liefert das Index Element der aktuellen Position im Array

wird die Position dann durch $_POST[edit] auf den einzige beschriebene Element im Array gerichtet?
 
  • #13
Jupp, wenn nicht anders definiert, ist die aktuelle Index-Position 0, d.h. die erste.

Da wir ja nur max. 1 Element im Array haben können passt das schon ;)
 
  • #14
danke nochmal ;)...

dann finde ich aber die Funktion in_array(edit, $id) in diesem Fall logischer...
 
  • #15
Game12 schrieb:
dann finde ich aber die Funktion in_array(edit, $id) in diesem Fall logischer...

Und woher weißt du wonach du mit in_array(edit, $id) suchen sollst ?? ?? ??

$id ist dir ja nicht bekannt, die willste ja wissen ;)
 
  • #16
emmm ja ist mir, als ich es ändern wollte auch aufgefallen ;D

naja danke nochmal :)
 
Thema:

PHP-Befehle ausführen wenn ein Link bzw. Button angeklickt wird

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.492
Neuestes Mitglied
Janus36
Oben