[gelöst] PHP Funktion und dann Seite aufrufen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • AmicaNoctis
    antwortet
    Zitat von h3ll Beitrag anzeigen
    Das EVA-Prinzip ist die "klassische Variante". Alles andere ist mehr oder weniger Pfusch.
    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.

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Zitat von AmicaNoctis Beitrag anzeigen
    warum machst du es nicht nach der klassischen Variante?:
    Das EVA-Prinzip ist die "klassische Variante". Alles andere ist mehr oder weniger Pfusch.

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    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:


  • h3ll
    antwortet
    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:


  • zorro55
    antwortet
    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:


  • Kropff
    antwortet
    Zitat von zorro55 Beitrag anzeigen
    das ist mein letzter versuch, danach geb ich mich als unbelehrbar geschlagen danke
    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:
    PHP-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;
    }
    ?>
    Peter

    Einen Kommentar schreiben:


  • h3ll
    antwortet
    Halte dich an das EVA-Prinzip.

    Mach nur eine Ausgabe, wenn es erforderlich ist.

    Einen Kommentar schreiben:


  • zorro55
    antwortet
    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:


  • Kropff
    antwortet
    <form action="
    Und was ist das? Genau, eine Ausgabe.

    Peter

    Einen Kommentar schreiben:


  • zorro55
    antwortet
    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:


  • Abraxax
    antwortet
    Hast du die Posts komplett gelesen?

    Zitat von zorro55 Beitrag anzeigen
    Warning: Cannot modify header information - headers already sent by (output started at ...) in ... on line 64
    Zitat von onemorenerd Beitrag anzeigen
    Damit das funktioniert darf das Script bis dahin keine Ausgabe gemacht haben!

    Einen Kommentar schreiben:


  • zorro55
    antwortet
    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:


  • Kropff
    antwortet
    Guckst du hier

    Peter

    Einen Kommentar schreiben:


  • zorro55
    antwortet
    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:


  • onemorenerd
    antwortet
    Entferne das onClick wieder. Füge in deinem PHP-Script nach der Verarbeitung der Formulardaten folgendes ein:
    PHP-Code:
    header('Location: http://example.com/Datei.php'); exit; 
    Damit das funktioniert darf das Script bis dahin keine Ausgabe gemacht haben!

    Einen Kommentar schreiben:

Lädt...
X