• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Html & php

lonicika

Neues Mitglied
Hallo,
Ich arbeite mich gerade etwas in HTML ein und brauche noch einige Ratschläge
Ich gehe mal davon aus das HTML keine Dateien (serverseitig) erstellen kann und dachte ich kann es mit PHP machen und habe folgendes zusammengebastelt:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
input {
font-family: "Times New Roman", Times, serif;
font-size: 64px;
font-weight: bold;
color: #2F0DD7;
background-color: #40A4F1;
padding: 5px;
height: 300px;
width: 300px;
}
-->
</style>
</head>
<body>
<input type="button" name="Button" value="ButtonA">
<input type="button" name="Button" value="ButtonB">

<?php
function ButtonA()
{
$inhalt = "A";
$handle = fopen ("test.txt", w);
fwrite ($handle, $inhalt);
fclose ($handle);
}

function ButtonB()
{
$inhalt = "B";
$handle = fopen ("test.txt", w);
fwrite ($handle, $inhalt);
fclose ($handle);
}
?>

</body>
</html>

Ich weis aber leider nicht wie ich de Buttons dazu bringe das sie die PHP Funktion aufrufen.
gruss
 
Zu allererst mal müssen deine Buttons in ein <form> gepackt werden
SELFHTML: HTML/XHTML / Formulare / Formulare definieren
Wenn die Auswertung auf der selben Seite geschehen soll, musst du als action="" natürlich auch die selbe Seite angeben.
Außerdem solltest du statt type="button" besser type="submit" wählen.
Der Schlüssel zur Auswertung ist übrigens das name="" Attribut.
Die sollten also nicht beide identisch sein, sondern idealerweise ebenfalls ButtonA und B heißen.

Zur Auswertung benötigst du dann eine if-Abfrage, die je nach geklicktem Button die eine oder andere Funktion aufruft.
PHP:
if(isset($_POST['ButtonA'])){
   ButtonA();
}else if(isset($_POST['ButtonB'])){
   ButtonB();
}
Allerdings kannst du auch gleich den Inhalt deiner Funktionen in diese if-Abfragen einsetzen, sofern du die Funktionen nicht an anderen Stellen der selben Seite noch öfter benötigst.

Zum Schluss noch ein Rat:
Hallo,
Ich arbeite mich gerade etwas in HTML ein...
Das solltest du erst mal vollständig tun, bevor du dich an PHP heranwagst.
Bevor die Grundlagen in HTML (und möglichst auch CSS) nicht sitzen, wirst du mit PHP nicht weit kommen!

Eine gute Seite zum lernen der PHP-Grundlagen wäre dann anschließend zB diese hier
http://www.schattenbaum.net/php/index.php
 
Hallo,
Bin mir nicht sicher ob ich eine action"" mit Pfad brauche da ja alles im selben script ausgeführt wird:
Kann es so funktionieren ?

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<form>
<style type="text/css">
<!--
input {
font-family: "Times New Roman", Times, serif;
font-size: 64px;
font-weight: bold;
color: #2F0DD7;
background-color: #40A4F1;
padding: 5px;
height: 300px;
width: 300px;
}
-->
</style>
</head>
<body>
<input type="submit" name="ButtonA" value="ButtonA">
<input type="submit" name="ButtonB" value="ButtonB">
<?php
if(isset($_POST['ButtonA'])){
$inhalt = "A";
$handle = fopen ("besucherzaehler.txt", w);
fwrite ($handle, $inhalt);
fclose ($handle);
}else if(isset($_POST['ButtonB'])){
$inhalt = "A";
$handle = fopen ("besucherzaehler.txt", w);
fwrite ($handle, $inhalt);
fclose ($handle);
}
?>
</form>
</body>
</html>
 
Benutze doch bitte die Code-Tags aus dem erweiterten Editor.
Noch mal kopier ich mir den Code nicht in mein Notepad+ um ihn übersichtlich lesen zu können!
Hallo,
Bin mir nicht sicher ob ich eine action"" mit Pfad brauche da ja alles im selben script ausgeführt wird..
Doch brauchst du.
Der Button muss ja abgesendet werden.
Du arbeitest hier mit PHP und nicht Javascript, womit das dynamisch gehen würde.

So etwa wird ein Schuh draus (ungetestet):
HTML:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<form>
<style type="text/css">
<!--
input {
font-family: "Times New Roman", Times, serif;
font-size: 64px;
font-weight: bold;
color: #2F0DD7;
background-color: #40A4F1;
padding: 5px;
height: 300px;
width: 300px;
}
-->
</style>
</head>
<body>
<form action="<?php echo $_PHP['SELF']; ?>" method="POST">
	<input type="submit" name="ButtonA" value="ButtonA">
	<input type="submit" name="ButtonB" value="ButtonB">
</form>
<?php
if(isset($_POST['ButtonA'])){
	$inhalt = "A";
	$handle = fopen ("besucherzaehler.txt", w);
	fwrite ($handle, $inhalt);
	fclose ($handle);
}else if(isset($_POST['ButtonB'])){
	$inhalt = "A";
	$handle = fopen ("besucherzaehler.txt", w);
	fwrite ($handle, $inhalt);
	fclose ($handle);
}
?>
</form>
</body>
</html>
 
hab mir hetzt auch Notepad++ installiert. Ist echt einfacher damit.
Ich hab jetzt die index.html und vorsichtshalber eine besucherzaehler.txt erstellt und auf mein webspace geupt.
Leider wird bei Buttonklick nichts in der txt gespeichert. Ich finde den Fehler leider nicht.
hmmmm.....
 
könnte daran liegen, dass du eine .html benutzt.
PHP-Code wird in .html und .htm nicht geparst!
Ändere mal die Dateiendung in .php

EDIT:
Da ist übrigens ein </form> zu viel unterhalb des PHP-Codes!
Das war noch ein Restprodukt von deinen Versuchen, denke ich mal.
Entferne das mal.
 
leider klappts mit index.php auch nicht, hab noch die Rechte von der .txt auf 0777 gesetzt (vorsichtshalber)
noch ne Idee?
 
oops hab ich uebersehen und jetzt funktioniert es auch, danke
es wurde nur bei beiden Buttons ein A geposted hab ich aber schon behoben

edit:
die txt wird auch selber erstellt falls nicht vorhanden und die Rechte koennen auch auf 644 bleiben
 
Zurück
Oben