Ankündigung

Einklappen
Keine Ankündigung bisher.

Form und Session

Einklappen

Neue Werbung 2019

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

  • Form und Session

    Hallo

    Habe 2 Fragen, packe sie aber in die gleiche Anfrage

    1. Bei der Fehlerüberprüfung habe ich 2 Versionen, beide gehen, weiss nicht welche schlussendlich besser ist. Was meint ihr? Soll ich auf die URL verweisen, oder mit JacaScript zurück gehen?

    2. Wenn die Inhalte in den Sessions sind, und dann doch nichts eingegeben werden soll, also "löschen" oder "zurücksetzen" gedrückt wird, leeren sich die Felder nicht, weil die Inhalte in den Sessions sind. Wie kann ich das machen? Diese Funktion geht nur wenn die Seite das erste Mal aufgerufen wird, also bevor das erste mals Speichern gedrückt wird.

    File 1
    Code:
    <?
     session_start();
    $_SESSION=array();
    // Clear cookie
    unset($_COOKIE[session_name()]);
    // Destroy session data
    session_destroy();
    header("Location:seite_A.php?UIN=$UIN&id_usr=$id_usr");
    ?>
    File 2 (seite_A.php) stark verkürzt
    Code:
    <? session_start();
    if($_SESSION['sess_v_art']=="")$_SESSION['sess_v_art']="tagung";
    ?>
    <form action=seite_B.php' method='POST'>
    <input type='hidden' name='SID' value='<? echo strip_tags(SID);?>'>
                  
      <table border='0' cellpadding='0' cellspacing='1'>
        <tr> 
          <td colspan='7' bgcolor='#EEEEEE' class='title'></td>
          <input name='v_art' type='radio' value='tagung' <? if ($_SESSION['sess_v_art'] =="tagung") echo "checked";?>><td width="178">
          <td width="17"  class='text'><? echo" $txt_tagung";?></td>
          <td width="1" ></td>
          <td width="1" ></td>
        </tr>
        <tr> 
          <input type='radio' name='v_art' value='Gruppen' <? if ($_SESSION['sess_v_art'] =="Gruppen") echo "checked";?>><td width="1"></td>
          <td width="17"  class='text'><? echo" $txt_gruppe";?></td>
          <td width="20"  class='text'> <input type='radio' name='v_art' value='medien' <? if ($_SESSION['sess_v_art'] =="medien") echo "checked";?>></td>
          <td width="167"  class='text'><? echo" $txt_tv_radio";?></td>
          <input type='radio' name='v_art' value='andere' <? if ($_SESSION['sess_v_art'] =="andere") echo "checked";?>><td width="19"></td>
          <td colspan='2'  class='text'><? echo" $txt_andere_angebote";?></td>
          <td ></td>
        </tr>
        <tr> 
          <td nowrap  class='utitle'></td>
          <td nowrap  class='utitle'><? echo" $txt_v_ort";?></td>
          <td ></td>
          <td  class='text'><? echo" $txt_v_gebaude";?></td>
          <td ></td>
          <td colspan='2' > <input name='gebaeude' type='text'  size='30' class='text' value='<? echo $_SESSION['sess_gebaeude'] ;?>'></td>
          <td ></td>
        </tr>
        <tr> 
          <td nowrap  class='utitle'></td>
          <td nowrap  class='utitle'></td>
          <td ></td>
          <td  class='text'><? echo" $txt_v_strasse";?></td>
          <td ></td>
          <td colspan='2' > <input name='verort_strasse' type='text'  size='30' class='text' value='<? echo $_SESSION['sess_verort_strasse'] ;?>'></td>
          <td ></td>
        <tr> 
          <td nowrap  class='utitle'></td>
          <td nowrap  class='utitle'></td>
          <td ></td>
          <td colspan='4'><input type='reset' name='loeschen' value='<? echo"$txt_zuruecksetzen";?>' class='text'></td>
          <td > <input type='submit' name='submit' value='<? echo"$txt_speichern";?>' class='text'></td>
        </tr>
        <tr> 
      </table>
                </form>

    Fehlermeldungen, resp. zurück Version 1 mit URL
    Code:
    <? session_start();
    if ($_SESSION['sess_v_art'] <> $v_art) $_SESSION['sess_v_art'] = $v_art;
    if ($_SESSION['sess_zugang'] <> $zugang) $_SESSION['sess_zugang'] = $zugang;
    if ($_SESSION['sess_gebaeude'] <> $gebaeude) $_SESSION['sess_gebaeude'] = $gebaeude;
    if ($_SESSION['sess_verort_strasse'] <> $verort_strasse) $_SESSION['sess_verort_strasse'] = $verort_strasse;
    
    
    // Fehlermeldungen
    
    if($_SESSION['sess_zeitraum'] =='einmalig' and ($_SESSION['sess_d_a']=="" or $_SESSION['sess_mo_a']=="" ))
    {
    //echo="
    
    $txt_rueckmeldung1</p>"; include("seite_A.php?UIN=$UIN&id_usr=$id_usr");
    echo"
    
    $txt_rueckmeldung1</p>
    
    
    <a href=seite_A.php?UIN=$UIN&id_usr=$id_usr'>$txt_rueckmeldung12</a></p>";
    exit;}
    
    if($_SESSION['sess_zeitraum'] =='fortlaufend' and $_SESSION['sess_tag']=="")
    {echo"
    
    $txt_rueckmeldung2</p>
    
    
    <a href=seite_A.php?UIN=$UIN&id_usr=$id_usr'>$txt_rueckmeldung12</a></p>";
    exit;}
    
    // Eintragung in DB
    $query="insert into tabelle
    ()
    values
    ()";
    $result=mysql_query($query);
    
    //Rückmeldung bei erfolgreichem Eintrag
    echo"<p class='text'>$txt_v_erfasst
    
    
    <a href=\"File_1.php?UIN=$UIN&id_usr=$id_usr&".strip_tags(SID)."\" class='text'>$txt_v_weitere</a>
    
    <a href=\"../admin_index.php?UIN=$UIN&id_usr=$id_usr&".strip_tags(SID)."\" class='text'>Einstiegsseite</a>";
    unset ($_SESSION['sess_gebaeude']);
    unset ($_SESSION['sess_verort_strasse']);
    ?>
    Fehlermeldung Version 2 mit JavaScript, zurück
    Code:
    <? session_start();
    if ($_SESSION['sess_v_art'] <> $v_art) $_SESSION['sess_v_art'] = $v_art;
    if ($_SESSION['sess_zugang'] <> $zugang) $_SESSION['sess_zugang'] = $zugang;
    if ($_SESSION['sess_gebaeude'] <> $gebaeude) $_SESSION['sess_gebaeude'] = $gebaeude;
    if ($_SESSION['sess_verort_strasse'] <> $verort_strasse) $_SESSION['sess_verort_strasse'] = $verort_strasse;
    
    
    // Fehlermeldungen
    
    if($_SESSION['sess_zeitraum'] =='einmalig' and ($_SESSION['sess_d_a']=="" or $_SESSION['sess_mo_a']=="" ))
    {
    echo"
    
    $txt_rueckmeldung1</p>
    
    
    $txt_rueckmeldung12</p>";
    exit;}
    
    if($_SESSION['sess_zeitraum'] =='fortlaufend' and $_SESSION['sess_tag']=="")
    {echo"
    
    $txt_rueckmeldung2</p>
    
    
    $txt_rueckmeldung12</p>";
    
    exit;}
    // Eintragung in DB
    $query="insert into tabelle
    ()
    values
    ()";
    $result=mysql_query($query);
    
    //Rückmeldung bei erfolgreichem Eintrag
    echo"<p class='text'>$txt_v_erfasst
    
    
    <a href=\"File_1.php?UIN=$UIN&id_usr=$id_usr&".strip_tags(SID)."\" class='text'>$txt_v_weitere</a>
    
    <a href=\"../admin_index.php?UIN=$UIN&id_usr=$id_usr&".strip_tags(SID)."\" class='text'>Einstiegsseite</a>";
    unset ($_SESSION['sess_gebaeude']);
    unset ($_SESSION['sess_verort_strasse']);
    ?>

  • #2
    zu 1. ist doch letztendlich egal, musst nur dran denken, dass nicht jeder java-scripta aktiviert hat, es also nicht funktioniert
    ich habs so gemacht, dass ein fehler ausgegeben wird und er dann nach 3 sekunden alleine zurückgeht (mit nem metatag)
    zu 2.hab nicht so richtig verstanden was du möchtest, aber wenn ich es doch richtig verstanden habe,dann hast du ein formular, da stehen werte drin die automatisch ausgelesen werden?!
    mach doch einfach noch ne abfrage drüber, sowas wie
    Code:
     if($aktion==löschen){
    gibs aus ohne einzulesen;
    }
    else{
    gib aus mit einlesen;}

    Kommentar


    • #3
      gelöst

      Das mit dem if()
      {}
      Ging nicht, wenn auch ich die if-Schlaufe gut kenne und "Behersche". Doch ich löste es, indem ich ein Button machte und auf die 1. Seite linke

      Code:
      <input name="Submit2" class='text' type="submit" onClick="MM_goToURL('parent','file_1.php?UIN=<? echo"$UIN";?>');return document.MM_returnValue" value="<? echo"$txt_zuruecksetzen";?>">
      So werden die Session gelöscht und das Form leer angezeigt

      zur Wiederholung File_1.php
      Code:
      <? 
       session_start(); 
      $_SESSION=array(); 
      // Clear cookie 
      unset($_COOKIE[session_name()]); 
      // Destroy session data 
      session_destroy(); 
      header("Location:seite_A.php?UIN=$UIN&id_usr=$id_usr"); 
      ?>
      Bei den Fehlermeldungen habe ich mich nun zur Version mit der URL entschieden

      Kommentar


      • #4
        Re: gelöst

        Zitat von Sonja
        if-Schlaufe
        was ist eine if-schlaufe?

        meiner ansicht gehört auch so etwas zum programmieren dazu .. notation!

        es hört sich so an, als sei das eine schleife .. etwas sich wiederholendes.
        eigentlich ist es eine kontrollstruktur, die eine abfrage "verarbeitet" und entweder TRUE doer FALSE zurückgibt.

        nur mal so am rande
        [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

        Kommentar


        • #5
          Ja, if(){} ist keine Schlaufe sondern eine Abfrage und wenn if übereinstimmt dann eben das was in den {}

          Sorry, ich wollte nicht verwirren. Ich werde es mir aber merken if ist eine Abfrage die etwas überprüft und wenn if eintrifft ....

          Kommentar


          • #6
            :wink:
            [b][url=http://www.benjamin-klaile.de]privater Blog[/url][/b]

            Kommentar

            Lädt...
            X