PHP und FUnktionsaufrufe
Mr_J
- php
0 kaepten0 Götz0 Sven Rautenberg
Hallo an alle Fleißigen Ratgeber,
Ich habe so kurz vor Weihnachten noch eine kleine Frage...
Folgende Problemstellung:
EIgentlich ganz einfach, will über vier RadioButtons eine Bewertung für ein Dokument abfragen und dies dann an eine Datenbank schicken.
Hier nun der Quelltext:
<?php
echo' <tr>
<td width="112" align="center" valign="bottom" bgcolor="#FFFFFF" height="1" bordercolor="#FFFFFF">
<input type="radio" value="1" name="radiobutton"></td>
<td width="112" align="center" valign="bottom" bgcolor="#FFFFFF" height="1" bordercolor="#FFFFFF">
<input type="radio" value="2" name="radiobutton">
</td>
<td width="111" align="center" valign="bottom" bgcolor="#FFFFFF" height="1" bordercolor="#FFFFFF">
<input type="radio" value="3" name="radiobutton">
</td>
<td width="111" align="center" valign="bottom" bgcolor="#FFFFFF" height="1" bordercolor="#FFFFFF">
<input type="radio" value="4" name="radiobutton">
</td>
</tr>
<tr>
<td width="112" align="center" bgcolor="#FFFFFF" height="1" bordercolor="#FFFFFF">
Sehr gut</td>
<td width="112" align="center" bgcolor="#FFFFFF" height="1" bordercolor="#FFFFFF">
gut</td>
<td width="111" align="center" bgcolor="#FFFFFF" height="1" bordercolor="#FFFFFF">
mittel</td>
<td width="111" align="center" bgcolor="#FFFFFF" height="1" bordercolor="#FFFFFF">
weniger gut</td>
</tr>
<tr>
<td width="446" align="center" bgcolor="#FFFFFF" height="17" bordercolor="#FFFFFF" colspan="4">
</td>
</tr>
<tr>
<td width="446" align="center" bgcolor="#FFFFFF" height="32" bordercolor="#FFFFFF" colspan="4">
<form method="POST" action=update() onSubmit="http://google.de">
<input type="submit" value="Abschicken" name="B1" style="font-weight: bold"></p>
</form>
</td>
</tr>
</table>';
function update()
{
require ("feedbackconfig.php");
$db = mysql_connect ("localhost", $user, $password);
if ($db) {
if ($radiobutton==1) {
$befehl = "UPDATE $table SET SehrGut=SehrGut+1 WHERE Thema=Building Block";
$result = mysql_db_query ($database,$befehl);
}
elseif ($radiobutton==2) {
$befehl = "UPDATE $table SET Gut=Gut+1 WHERE Thema=Building Block";
$result = mysql_db_query ($database,$befehl);
}
elseif ($radiobutton==3) {
$befehl = "UPDATE $table SET Mittel=Mittel+1 WHERE Thema=Building Block";
$result = mysql_db_query ($database,$befehl);
}
elseif ($radiobutton==4) {
$befehl = "UPDATE $table SET WenigerGut=WenigerGut+1 WHERE Thema=Building Block";
$result = mysql_db_query ($database,$befehl);
}
}};
?>
Eigentlich sollte der Funktionsaufruf doch funktionieren, wenn der Button und die Funktion im selben PhP-Block definiert sind,oder nicht?
Die Funktion wird allerdings nicht gefunden. ISt wahrscheinlich ein grundlegender Denkfehler, da ich gerade erst angefangen habe mit PHP rumzubasteln. ;-)
Vielen Dank im Voraus, eine schönes Fest und nen guten Rutsch!
Jürgen
Jürgen
Mit
<form method="POST" action=update() onSubmit="http://google.de">
ruft man
function update()
sicher nicht auf!
Du hast wirklich fundamentale Fehler im Code, die noch nicht mal nur mit PHP sondern auch HTML zu tun hat. Das FORM Tag beinhaltet beispielsweise die RadioButtons nicht - die stehen bei Dir irgendwo im HTML Code drin. So kann das nicht gehen...
kaepten
Hallo Mr. Jürgen!
EIgentlich ganz einfach, will über vier RadioButtons eine Bewertung für ein Dokument abfragen und dies dann an eine Datenbank schicken.
[html-bla uninteressant]
<form method="POST" action=update() onSubmit="http://google.de">
[PHP] function update()
Eigentlich sollte der Funktionsaufruf doch funktionieren, wenn der Button und die Funktion im selben PhP-Block definiert sind,oder nicht?
Die Funktion wird allerdings nicht gefunden. ISt wahrscheinlich ein grundlegender Denkfehler, da ich gerade erst angefangen habe mit PHP rumzubasteln. ;-)
Ähm, Du willst also mit action=update() Deine PHP-Funktion aufrufen?!?
Das kann nie nicht gehen.
Du mußt das Formular an ne PHP-Seite schicken, also z.b. action="auswertung.php", und in dieser Datei dann die uebergebenen Variablen prüfen, und dann halt deine Funktion aufrufen.
Ich hoffe, du verstehst, was ich mein.
Wenn nicht rate ich Dir dringend, daß Du dir erstmal Grundlagen in PHP aneignest, Links zu Tutorials usw. gibts im Archiv genügend, hab grad keine Lust ein passnedes Posting wo alle drinstehn rauszusuchen, solltest du aber auch allein hinbekommen.
MfG
Götz
Moin!
EIgentlich ganz einfach, will über vier RadioButtons eine Bewertung für ein Dokument abfragen und dies dann an eine Datenbank schicken.
<form method="POST" action=update() onSubmit="http://google.de">
function update()
{
};
?>Eigentlich sollte der Funktionsaufruf doch funktionieren, wenn der Button und die Funktion im selben PhP-Block definiert sind,oder nicht?
Die Funktion wird allerdings nicht gefunden. ISt wahrscheinlich ein grundlegender Denkfehler, da ich gerade erst angefangen habe mit PHP rumzubasteln. ;-)
Überlege dir:
1. Wo wird PHP ausgeführt? (Andere Antworten als "Auf dem Server" sind falsch).
2. Wo wird HTML angezeigt? (Andere Antworten als "Im Browser" sind falsch).
3. Was passiert, wenn du deine Formularseite aufrufst? Hat der Benutzer zu dem Zeitpunkt, wo PHP aktiv ist, schon die Chance gehabt, eine Auswahl zu treffen?
4. Was passiert, wenn du ein Formular abschickst? Warum ist für "action" in <form> eine URL anzugeben, und keine PHP-Funktion?
Schau dir einfach mal mit "Quelltext anzeigen" den Text an, der in deinem Browser angekommen ist. Wenn du da irgendwas von PHP siehst, ist dein Server kaputt. Andernfalls funktioniert der Server prima, aber der Browser hat keine Ahnung, was passieren soll, wenn eine Bewertung ausgewählt wurde.
Lies insbesondere auch mal den Text über das Affenformular. http://www.dclp-faq.de/q/q-stil-normalform.html Und auch alles andere über Formulare dort: http://www.dclp-faq.de/ch/ch-webvariablen.html. Und am besten sowieso die ganze FAQ. Daraus kannst du wirklich nur lernen.
- Sven Rautenberg