PHP Script mit Buttonklick ausführen

Sarius87

Banned
Registriert
Mai 2016
Beiträge
888
Hallo. Lerne derzeit php und will, dass ein script, was in der gleichen .php ist wie der Button, ausgeführt wird sobald man diesen drückt. Mit:

Code:
<form action="script.php" method="get">
	<input type="submit" value="Klick">
</form>

würde er ja das auf der script.php Seite ausführen... Doch wie geht es, dass er das einfach ausführt, was darunter ist? Ganz einfach gehalten:

Code:
<form action="???" method="get">
	<input type="submit" value="Klick">
</form><br<br>
<?php
echo "Hallo!";
?>

danke für Hilfen!!
 
Dem Button einen Namen geben und dann abfragen, ob der Wert gesetzt ist.

Das könnte mit "get" z.B. so aussehen:

PHP:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
	<input type="submit" name="go" value="Klick">
</form><br><br>
<?php
if(isset($_GET['go']))
{
	echo 'Hallo!';
}
?>
 
Zuletzt bearbeitet: (PHP anstatt CODE-Tag eingesetzt)
Ah danke. geht es aber auch, dass der Link dann nicht ?go=Klick ist?

Und wie kann ich nochmal z.B. Bilder einfügen, nicht ins echo sondern als HTML einfach, aber dass das nur kommt wenn auch das echo kommt? Dachte so, aber geht nicht :/

Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
	<input type="submit" name="go" value="Klick">
</form><br><br>
<?php
if(isset($_GET['go']))
{
	echo 'Hallo!';
}
HIER NOCH EIN TEXT.
?>
 
Zuletzt bearbeitet:
Für deine erste Frage:

Ändere das
Code:
method="get"
in
Code:
method="post"
und das
Code:
if (isset($_GET[...
in
Code:
if (isset($_POST[...
ab..

Für deine zweite Frage, wenn ich dich richtig verstanden habe, geht das so:
Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
    	<input type="submit" name="go" value="Klick">
    </form><br><br>
    <?php
    if(isset($_GET['go']))
    {
    	echo 'Hallo!';
         ?> Hier kommt mein Bild hin <img blablub <?php
    }
    HIER NOCH EIN TEXT.
    ?>
 
Super, danke dir!

Der Standardbutton geht, aber sieht ja nicht schön aus. Bei meinem Template sind Buttons dabei, doch schaffe den nicht einzubinden... Sieht so aus:

Code:
<button class="btn btn-green btn-filled">Klick</button>

Das:

Code:
<button class="btn btn-green btn-filled" form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input type="submit" name="go" value="Generate">Klick</button>

Geht leider nicht :/ wie muss das dann heißen?
 
Code:
<button type="submit" value="Generate" class="btn btn-green btn-filled" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"/>

Da du auch gleich noch bootstrap nutzen willst: https://bootstrapbay.com/blog/working-bootstrap-contact-form/
 
jetzt habe ich nen grünes Quadrat ohne Wirkung :/

edit: oh, ganz einfach: einfach die class nur hinzufügen:

Code:
class="btn btn-green btn-filled"

auch mit dem anderen Button leitet er nach dem Klick jetzt auf /index.php... doch wieso?
 
Zuletzt bearbeitet:
Hier mit 2 buttons, wenn ich dich gerade richtig verstanden haben :D

Code:
<?php
  if(isset($_POST['btn']))
  {
    if($_POST['btn'] == "btn1")
    {
      echo 'Button 1';
    }
    elseif($_POST['btn'] == "btn2")
    {
      echo 'Button 2';
    }
  }
?>

<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title></title>

    <!-- Bootstrap -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">

    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.2/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
      <button class="btn btn-success btn-filled" type="submit" name="btn" value="btn1">Button 1</button>
      <button class="btn btn-success btn-filled" type="submit" name="btn" value="btn2">Button 2</button>
    </form>
  </body>
</html>
 
neee, wollte den Standardbutton nur ersetzen weil der langweilig aussieht :D

Also 1. Problem:

Klicke ich auf den Button, werde ich zu /index.php weitergeleitet. Doch wieso?


2.:

Will jetzt noch, dass nach dem Klick der Button anders heißt, bzw. ein neuer kommt. Damit geht es irgendwie leider nicht, habe dieses Script vor dem "Hallo!"-echo Teil gemacht:

Code:
<?php
if(isset($TEST)) {
    ?><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"><input type="submit" class="btn btn-green btn-filled" name="go" value="KLICK DANACH"> <?php
}else{
    ?><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"><input type="submit" class="btn btn-green btn-filled" name="go" value="Klick"> <?php
}
?>


Beim Hauptscript wird eigentlich die Variable gesetzt:

Code:
if(isset($_GET['go']))
{
   $TEST=A;
    echo 'Hallo!';

:/
Ergänzung ()

Keine Idee? :/
 
Zurück
Oben