PHP - mehrere Probleme

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

  • PHP - mehrere Probleme

    Hallo alle zusammen,

    ich bin gerade bei der php programmierung eines groesseren projektes, jedoch hab
    ich einige probleme bzw. schoenheitsfehler.


    1.) Wie kann ich eingebene Daten (Eingabefehler) von html Formularen zwischenspeichern, dass
    diese beim erneuten Aufruf nicht wieder eingegeben werden muessen?

    d.h. Ich benutze zwei Formulare die sich gegenseitig aufheben.

    Formular 1: besitzt mehrere Eingabefelder und ein hidden Eingabefeld für einen Dateinamen,
    die Datei wird mit dem Formular 2 hochgeladen und anschliessend werden alle Daten des Formulares 1
    in eine MySQL DB gespeichert.

    Formular 2: Upload Formular (siehe Quellcode)

    Problem: Daten werden in das Formular 1 eingeben (wird noch nicht abgesendet), anschliessend wird eine Datei mit dem Formular 2 hochgeladen (hidden Eingabefeld von Formular 1 wird gesetzt) und
    das Formular 1 erneut aufgerufen, jedoch sind die Eingabefehlder zurückgesetzt --> erneute Eingabe

    Quellcode:

    Formular 1:
    <? echo "<form name='Verteiler' action='index.php?section=verteilerliste&aktion=".$_GET['aktion']."&id=".$id."' method='POST' onsubmit='return chkVerteiler()'>";?>
    ...
    ..
    </form>

    Formular 2 (Bilder Upload):
    <? echo "<form action='index.php?section=verteiler&aktion=".$_GET['aktion']."&id=".$id."&bild=upload' border='1' enctype='multipart/form-data' method='POST' onsubmit='return chkBild()'>"; ?>
    <input name="Datei" type="file" size="30">
    <input name="Send" type="submit" value="Upload">
    </form>


    2.)Wie kann ich einen ausgewählten Eintrag einer Auswahlliste zwischenspeichern und beim erneuten Aufruf mit php vorselektieren?

    Quellcode:

    <form action="index.php" method="post">
    <select name="Anlage">
    <option>ALLE</option>
    <?
    while($row = mysql_fetch_assoc($result)) {
    echo "<option>".$row['AnlagenBez']."</option>";
    }
    ?>
    </select>
    <input type="submit" value="Anzeigen">
    </form>


    Problem: Beim erneuten Aufruf ist wieder die Option "ALLE" ausgewählt.


    3.) Wie kann ich mit JavaScript eine confirm Dialog erstellen, welcher nachfragt ob ein Link wirklich ausgeführt werden soll oder nicht?

    Problem: Datensätze der MySQL DB werden in einer Tabelle angezeigt und bei jedem Datensatz ein entsprechender "löschen" Link erstellt (ähnlich wie bei phpmyadmin).
    Der Link wird nun ohne Nachfrage ausgeführt und der der Datensatz anschliessend gelöscht. Möchte nun einen Dialog erstellen (OK und Abbrechen).

    Quellcode:

    <a href='index.php?section=verteilerliste&id=".$row['VerteilerNr']."&aktion=loeschen'><img src='images/b_drop.png' alt='' border=''>



    4.) Kann ich mit dem php Befehl header auch auf interne .php Dateien weiterleiten?

    z.B. if($xy == "zz"){
    header("test1.php");
    }else{
    header("test2.php");
    }




    Wäre über jede Hilfe sehr froh.


    Vielen Dank im Vorraus!


    mfg

    daniel

  • #2
    Speichere doch die Daten aus dem Formular1 in Sessions, dann prüfst du ob die Sessions vorhaden sind, wenn ja, dann wird befehl ausgeführt, wenn nein, dann fehler.
    Dann brauchst du kein Javascript.
    Wer anderen eine Grube gräbt, der hat ein Grubengrabgerät.

    Kommentar


    • #3
      1. wurde beantwortet.
      2. http://tut.php-q.net/formulare.html#u11 zusammen mit einer if-abfrage
      3. http://de.selfhtml.org/javascript/ob...w.htm#confirm, dann location.href auf deinen link setzen (es lohnt sich, eine funktion dafür zu schreiben).
      4. musst du näher definieren. was ist "intern"? meinst du einbinden?

      Kommentar


      • #4
        Vielen Dank!

        1.
        Speichere doch die Daten aus dem Formular1 in Sessions, dann prüfst du ob die Sessions vorhaden sind, wenn ja, dann wird befehl ausgeführt, wenn nein, dann fehler.

        Das Speichern in Sessions ist nicht das Problem, jedoch wird das Formular1 nicht aufgerufen und deswegen ist auch der Zugriff mit $_POST.. bzw. $_GET.. nicht möglich.

        Wie kann ich den Wert von Eingabefelder des Formulares1 lesen?


        4.


        musst du näher definieren. was ist "intern"? meinst du einbinden?

        Es gibt eine dbfunction.php datei mit diversen SQL Statements und nun möchte ich je nach parameter nach dem erfolgreichen Ausführen auf die seite detail.php bzw. news.php weiterleiten.


        mfg

        Kommentar


        • #5

          Kommentar


          • #6
            Das Speichern in Sessions ist nicht das Problem, jedoch wird das Formular1 nicht aufgerufen und deswegen ist auch der Zugriff mit $_POST.. bzw. $_GET.. nicht möglich.
            wie - nicht aufgerufen? wenn niemand das formular aufruft, brauchst du es auch nicht einzubauen, oder? formuliere mal etwas genauer, was du meinst. auch das mit dem zugriff mit (?) den superglobalen arrays...

            Wie kann ich den Wert von Eingabefelder des Formulares1 lesen?
            indem du die superglobalen arrays auswertest, nachdem das formular abgeschickt wurde - wie immer.

            zur weiterleitung - klar, warum sollte das nicht gehen?

            Kommentar


            • #7
              mit dem befehl header gibt es nur ein problem und zwar dürfen davor nicht einmal html tags sein:

              Cannot modify header information - headers already sent by (output started at ...


              Code:

              <?php
              /* Redirect to a different page in the current directory that was requested */
              $host = $_SERVER['HTTP_HOST'];
              $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
              $extra = 'mypage.php';
              header("Location: http://$host$uri/$extra");
              exit;
              ?>

              Kommentar


              • #8
                ja, das hast du richtig verstanden.
                http://php-resource.de/forum/showthr...threadid=62965

                Kommentar

                Lädt...
                X