Zitat von h3ll
Beitrag anzeigen
[gelöst] PHP Funktion und dann Seite aufrufen
Einklappen
X
-
Da stimme ich dir zu, ich wollte es nur nochmal kurz mit Bezug zur Frage erklären, weil der TO offenbar damit nichts anfangen konnte.
-
Das EVA-Prinzip ist die "klassische Variante". Alles andere ist mehr oder weniger Pfusch.Zitat von AmicaNoctis Beitrag anzeigenwarum machst du es nicht nach der klassischen Variante?:
Einen Kommentar schreiben:
-
Hallo,
warum machst du es nicht nach der klassischen Variante?:
Formular ausgeben und das action-Attribut auf ein Skript setzen, welches die Daten entgegennimmt und verarbeitet. In diesem Skript prüfen, ob dein besonderer Button gedrückt wurde und wenn dem so ist, mit [FONT="Courier New"]header("Location: ...")[/FONT] auf die gewünschte Seite umleiten (bevor irgendetwas ausgegeben wurde!). Andernfalls wieder irgendetwas ausgeben.
Mit onclick kannst du nur JS-seitig auf eine andere Seite wechseln, dann werden aber keine Daten übertragen, weil PHP davon ja nichts mitbekommt. Du musst also das Formular ganz normal abschicken und die Prüfung PHP-seitig machen.
Gruß,
Amica
Einen Kommentar schreiben:
-
Du musst dich an das EVA-Prinzip halten.
Nur dann eine HTML-Ausgabe machen, wenn sie wirklich erforderlich ist.
Trenne Ausgabe von der Programmlogik.
Einen Kommentar schreiben:
-
dass zahlen nicht nach dem $-zeichen verwendet werden, war mir bereits klar..habe das auch nur für die veranschaulichung angepasst..bei meinem script folgt dort eig text..sorry, wenn ich damit einige verwirrt habe..und genau nach diesem prinzip bin ich auch vorgegangen..leider ohne erfolg..ich denke, es liegt eher daran, dass das gesamte script mit html eingeleitet wird und der ausschnitt, den ich gepostet habe, folgt dann mitten in dem dokument..um den header-befehl ordentlich zum laufen zu bringen, darf ich nur ein reines php-script verwenden, richtig?
Einen Kommentar schreiben:
-
Zuerst solltest du mal ein vernünftiges Debugging betreiben. denn z.B. dürfen Zahlen NICHT direkt nach dem $-Zeichen kommen. Und dann könntest du vom Prinzip her in etwa so herangehen:Zitat von zorro55 Beitrag anzeigendas ist mein letzter versuch, danach geb ich mich als unbelehrbar geschlagen
danke
PeterPHP-Code:<?php
$a1= $_POST["1"];
...
if ($a1=="")
{
echo "<form ...>....</form>";
}
else
{
$neu = "INSERT INTO table
(1, 2, 3)
VALUES
('$a1', '$a2', '$a3')";
$senden = mysql_query($neu);
header('Location: http://www.example.com/Dokument.php');
exit;
}
?>
Einen Kommentar schreiben:
-
Halte dich an das EVA-Prinzip.
Mach nur eine Ausgabe, wenn es erforderlich ist.
Einen Kommentar schreiben:
-
eine ausgabe, die nicht so gewünscht ist..wie kann ich dies verhindern? hier ein ausschnitt meines scripts:
<form action="<?php
$1= $_POST["1"];
$2= $_POST["2"];
$3= $_POST["3"];
if ($1=="")
{
echo "";
}
else
{
$neu = "INSERT INTO table
(1, 2, 3)
VALUES
('$1', '$2', '$3')";
$senden = mysql_query($neu);
header('Location: http://www.example.com/Dokument.php');exit;
}
?>
</form>
das ist mein letzter versuch, danach geb ich mich als unbelehrbar geschlagen
danke
Einen Kommentar schreiben:
-
Und was ist das? Genau, eine Ausgabe.<form action="
Peter
Einen Kommentar schreiben:
-
ja das hab ich..wenn ich mir den quelltext vom browser anzeigen lasse, ist nichts zu sehen (für meine augen jedenfalls)..hier der quelltext:
<form action="<br />
<b>Warning</b>: Cannot modify header information - headers already sent by (output started at http://www.example.com/Dokument.php:15) in <b>http://www.example.com/Dokument.php</b> on line <b>59</b><br />
vlt findet von euch jmd nen fehler??
Einen Kommentar schreiben:
-
Hast du die Posts komplett gelesen?
Zitat von zorro55 Beitrag anzeigenWarning: Cannot modify header information - headers already sent by (output started at ...) in ... on line 64Zitat von onemorenerd Beitrag anzeigenDamit das funktioniert darf das Script bis dahin keine Ausgabe gemacht haben!
Einen Kommentar schreiben:
-
hallo Peter...
das ist leider nicht ganz das, was ich suche..wenn ich den befehl an den anfang des dokumentes setze, dann werde ich zu der entsprechenden seite geleitet..das funktioniert auch super..allerdings habe ich schon vorher im dokument ausgaben und möchte NUR nach dem klick auf einen bestimmten button weitergeleitet werden..gibt es da eine andere variante??
Einen Kommentar schreiben:
-
danke erstmal für die schnelle antwort! leider läuft es immernoch nicht
die daten wurden zwar gespeichert, aber dann kommt folgende fehlermeldung:
Warning: Cannot modify header information - headers already sent by (output started at ...) in ... on line 64
Einen Kommentar schreiben:
-
Entferne das onClick wieder. Füge in deinem PHP-Script nach der Verarbeitung der Formulardaten folgendes ein:
Damit das funktioniert darf das Script bis dahin keine Ausgabe gemacht haben!PHP-Code:header('Location: http://example.com/Datei.php'); exit;
Einen Kommentar schreiben:
Einen Kommentar schreiben: