Iris: Optionsauswahl

Hallo,

im Rahmen einer Vorlesung mußte ich eine Homepage erstellen. Auf dieser Homepage muß sich eine kleine Datenbank befinden. Diese wurde auf Empfehlung des Professors mit baseportal.de erstellt

So sieht das ganze bisher aus:
http://webuser.fh-furtwangen.de/~ischerer/Login.html
Hinter dem Login verbirgt sich eine Adressdatenbank.
Der dazugehöriger Perl Befehl sieht so aus:
<perl>
get "Gast==!$namerein", "Login";

if($Passwort ne "" && $Passwort eq $pwrein)

{

out "<meta http-equiv="refresh" content="0; URL=http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/ischerer2/Adressen/Adressen">"
}

else
  {

out " <br /><br /><br /><br /><br /><br /><br /> <center><b>Anmeldung fehlgeschlagen</b></center>";

$namerein="";
  }

</perl>

Ursprünglich war das Optionsfehld nicht dabei aber ich habe mir überlegt es wäre schön wenn ich die Personen gleich nach Gruppe sortieren kann. Ich hab allerdings keine Ahnung was ich machen muß, damit die Gruppe mitüberprüft wird. Wenn man nämlich so wie es jetzt ist als Passwort:Familie, Nutzer Familie und Gruppe Familie eingibt passiert das gleiche wie wenn man als Passwort:Familie, Nutzer Familie und Gruppe Freunde eingibt.

Ist das verstänlich? Wer kann mir weiterhelfen??

Grüße
aus dem Schwarzwald

  1. hallo,

    Ist das verstänlich? Wer kann mir weiterhelfen??

    wenn ich das richtig verstanden habe willst du einfach bei familie ne andere url als bei freunde aufrufen? oder hab ich dich falsch verstanden?

    dann müsstest du einfach deine if-abfrage erweitern:

      
    if(($Passwort ne "") && ($Passwort eq $pwrein) && ($gruppe eq "familie") )  
    {  
    out "<meta http-equiv=\"refresh\" content=\"0; URL=http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/ischerer2/Adressen/Adressen\">"  
    }  
    elsif(($Passwort ne "") && ($Passwort eq $pwrein) && ($gruppe eq "freunde") )  
    {  
      
    out "<meta http-equiv=\"refresh\" content=\"0; URL=andereUrl">"  
    }  
    else  
    {  
      
        out " <br /><br /><br /><br /><br /><br /><br /> <center><b>Anmeldung fehlgeschlagen</b></center>";  
      
        $namerein="";  
      }  
    
    

    das wär wohl zu einfach, du hast wohl ein komplizierteres problem?

    gruss,
    steckl

  2. Hallo,

    Der dazugehöriger Perl Befehl sieht so aus:
    <perl>
    get "Gast==!$namerein", "Login";

    if($Passwort ne "" && $Passwort eq $pwrein)

    {

    out "<meta http-equiv="refresh" content="0; URL=http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/ischerer2/Adressen/Adressen">"
    }

    else
      {

    out " <br /><br /><br /><br /><br /><br /><br /> <center><b>Anmeldung fehlgeschlagen</b></center>";

    $namerein="";
      }

    </perl>

    Das ist weder ein Perl-Befehl, noch hat das etwas mit deinem Problem zu tun. Falls die Daten bei der Speicherung den richtigen Gruppen zugeordnet werden, musst du die Ausgabe dieser Daten verändern. Ob das bei einer Webdatenbank wie baseportal.de, die nicht mal auf deinem eigenen Server läuft, überhaupt möglich ist, bezweifle ich.

    Markus.

    --
    http://www.apostrophitis.at
    Maschiene währe Standart Gallerie vorraus Packete Objeckte tollerant vieleicht Strucktur
    1. Hallo,

      es geht nicht direkt um die Speicherung sondern so wie steckel gemeint hat, darum, dass sich unterschiedliche Links öffnen, das müßte eigentlich mit baseportal zu machen sein.

      Der Gedanke von steckel war der richtige, das Problem ist "so einfach" und doch wieder nicht denn es geht funktioniert einfach nicht (hab den Vorschlag von steckel so übernommen nur eine URL eingefügt). Ich weiß nicht ob es an dem html code liegt, mit dem ich das optionsfenster erstellt hab oder am baseportal, nur bei baseportal kann mir leider auch niemand weiterhelfen.

      Vielleicht kann mir hier do ch noch jemand weiterhelfen? Ich würde mich freuen

      Iris

      1. Der Gedanke von steckel war der richtige, das Problem ist "so einfach" und doch wieder nicht denn es geht funktioniert einfach nicht (hab den Vorschlag von steckel so übernommen nur eine URL eingefügt). Ich weiß nicht ob es an dem html code liegt, mit dem ich das optionsfenster erstellt hab oder am baseportal, nur bei baseportal kann mir leider auch niemand weiterhelfen.

        was genau heißt `es funktioniert nicht'?

        1. ich habs gefunden:

          dein select-feld sieht so aus:

            
          <select name="Gruppe:=" class="form">  
            <option value=""></option>  
            <option >Familie</option>  
            <option >Freunde</option>  
          </select>  
          
          

          dabei wird kein wert abgeschickt. der muss bei den <option>-tags als value drin stehen.
          also so:

            
          <select name="Gruppe:=" class="form">  
            <option value=""></option>  
            <option value="Familie">Familie</option>  
            <option value="Freunde">Freunde</option>  
          </select>  
          
          

          schönen Gruss,
          steckl

          1. Hi steckl,

            vielen vielen Dank für deine Hilfe:-) Jetzt gibt es nur noch ein kleines Problem...aber vielleicht weißt du die Lösung darauf.
            Also es gibt zwei Passwörter:
            Nutzer1: Freunde
            Passwort1: Freunde
            Gruppe1: Freunde
            DB1 öffnet sich

            Nutzer2: Familie
            Passwort2: Familie
            Gruppe2: Familie
            DB2 öffnet sich

            wenn ich aber eingeb:
            Nutzer1: Freunde
            Passwort1: Freunde
            Gruppe2: Familie
            DB1 öffnet sich
            aber eigentlich sollte in diesem Fall doch kommen: anmeldung fehlgeschlagen. weißt du zufällig wieso nicht?

            Grüße

            Iris

            ich habs gefunden:

            JUCHUUUUU ;-)

            dein select-feld sieht so aus:

            <select name="Gruppe:=" class="form">
              <option value=""></option>
              <option >Familie</option>
              <option >Freunde</option>
            </select>

            
            > dabei wird kein wert abgeschickt. der muss bei den <option>-tags als value drin stehen.  
            > also so:  
            > ~~~html
              
            
            > <select name="Gruppe:=" class="form">  
            >   <option value=""></option>  
            >   <option value="Familie">Familie</option>  
            >   <option value="Freunde">Freunde</option>  
            > </select>  
            > 
            
            

            schönen Gruss,
            steckl

            1. Hi steckl,

              endlich hast meinen namen richtig geschrieben :)

              vielen vielen Dank für deine Hilfe:-) Jetzt gibt es nur noch ein kleines Problem...aber vielleicht weißt du die Lösung darauf.
              Also es gibt zwei Passwörter:
              Nutzer1: Freunde
              Passwort1: Freunde
              Gruppe1: Freunde
              DB1 öffnet sich

              Nutzer2: Familie
              Passwort2: Familie
              Gruppe2: Familie
              DB2 öffnet sich

              wenn ich aber eingeb:
              Nutzer1: Freunde
              Passwort1: Freunde
              Gruppe2: Familie
              DB1 öffnet sich
              aber eigentlich sollte in diesem Fall doch kommen: anmeldung fehlgeschlagen. weißt du zufällig wieso nicht?

              ne, eigentlich sollte sich in diesem fall DB2 öffnen, wenn du es so gemacht hast wie ich vorhin geschrieben hab. am besten du postest nochmal dein jetziges perl-script.

              hast du deine user mit passwörtern in einer datenbank?
              wenn ja müsstest du diese so erweitern, dass bei jedem user dabei steht auf welche adressenliste er zugriff hat, und das dann noch in der if-anweisung abfragen.
              wenn nein, wie verwaltest du dann die passwörter?

              mfG,
              steckl

              1. Hi steckl (richtig geschrieben;-))

                Achtung:

                <perl>
                get "Gast==!$namerein", "Login";

                if(($Passwort ne "") && ($Passwort eq $pwrein) && ($Gruppe eq "Familie") )

                {

                out "<meta http-equiv="refresh" content="0; URL=http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/ischerer2/Adressen/Adressen">"
                }

                elsif(($Passwort ne "") && ($Passwort eq $pwrein) && ($Gruppe eq "Freunde") )
                {
                out "<meta http-equiv="refresh" content="0; URL=http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/ischerer2/Adressen/Adressen1">"
                }

                else
                  {
                    out " <br /><br /><br /><br /><br /><br /><br /> <center><b>Anmeldung fehlgeschlagen</b></center>";

                $namerein="";
                  }

                </perl>

                Hmm also. Wen sich das nicht so ändern läßt, dass wenn die falsche Gruppe angegebn ist: "Anmeldung fehlgeschlagen" da steht, dann ist mir diese Lösung schon lieb. Denn wer das Passwort für die Freundes Datenbank hat sollte auch dahingelangen auch wenn er ausversehen die falsche Gruppe ausgewählt hat. Ich verwalte die Passwörter in einer Datenbank, ebenfalls bei baseportal. Ich hab dazu die Felder: Gast, Passwort und Gruppe angelegt, aber ich habe keine Ahnung wie ich das verknüpfen kann.

                Grüße

                Hi steckl,
                endlich hast meinen namen richtig geschrieben :)

                vielen vielen Dank für deine Hilfe:-) Jetzt gibt es nur noch ein kleines Problem...aber vielleicht weißt du die Lösung darauf.
                Also es gibt zwei Passwörter:
                Nutzer1: Freunde
                Passwort1: Freunde
                Gruppe1: Freunde
                DB1 öffnet sich

                Nutzer2: Familie
                Passwort2: Familie
                Gruppe2: Familie
                DB2 öffnet sich

                wenn ich aber eingeb:
                Nutzer1: Freunde
                Passwort1: Freunde
                Gruppe2: Familie
                DB1 öffnet sich
                aber eigentlich sollte in diesem Fall doch kommen: anmeldung fehlgeschlagen. weißt du zufällig wieso nicht?
                ne, eigentlich sollte sich in diesem fall DB2 öffnen, wenn du es so gemacht hast wie ich vorhin geschrieben hab. am besten du postest nochmal dein jetziges perl-script.

                hast du deine user mit passwörtern in einer datenbank?
                wenn ja müsstest du diese so erweitern, dass bei jedem user dabei steht auf welche adressenliste er zugriff hat, und das dann noch in der if-anweisung abfragen.
                wenn nein, wie verwaltest du dann die passwörter?

                mfG,
                steckl

                1. Hi steckl (richtig geschrieben;-))

                  sehr schön :)

                  <perl>
                  get "Gast==!$namerein", "Login";

                  if(($Passwort ne "") && ($Passwort eq $pwrein) && ($Gruppe eq "Familie") )

                  mach daraus:
                  if(($Passwort ne "") && ($Passwort eq $pwrein) && ($Gruppe eq "Familie") && ($gruppeAusDB eq $Gruppe) )

                  {

                  out "<meta http-equiv="refresh" content="0; URL=http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/ischerer2/Adressen/Adressen">"
                  }

                  elsif(($Passwort ne "") && ($Passwort eq $pwrein) && ($Gruppe eq "Freunde") )

                  und daraus:
                  elsif(($Passwort ne "") && ($Passwort eq $pwrein) && ($Gruppe eq "Freunde") && ($gruppeAusDB eq $Gruppe) )

                  {
                  out "<meta http-equiv="refresh" content="0; URL=http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/ischerer2/Adressen/Adressen1">"
                  }

                  else
                    {
                      out " <br /><br /><br /><br /><br /><br /><br /> <center><b>Anmeldung fehlgeschlagen</b></center>";

                  $namerein="";
                    }

                  </perl>

                  Hmm also. Wen sich das nicht so ändern läßt, dass wenn die falsche Gruppe angegebn ist: "Anmeldung fehlgeschlagen" da steht, dann ist mir diese Lösung schon lieb. Denn wer das Passwort für die Freundes Datenbank hat sollte auch dahingelangen auch wenn er ausversehen die falsche Gruppe ausgewählt hat. Ich verwalte die Passwörter in einer Datenbank, ebenfalls bei baseportal. Ich hab dazu die Felder: Gast, Passwort und Gruppe angelegt, aber ich habe keine Ahnung wie ich das verknüpfen kann.

                  was bringt dein select-feld eigentlich, wenn jeder user eh nur auf eine DB zugriff hat?

                  gruss,
                  steckl

                  1. Ne das geht nicht, dann kann ich mich nicht mehr einloggen

                    was bringt dein select-feld eigentlich, wenn jeder user eh nur auf eine DB zugriff hat?

                    Dachte das sieht schick aus...;-)
                    naja ich glaub ich lass das einfach weg...scheint leichter zu sein

                    Trotzdem DANKE!!!!!für die vielen Tipps

                    MfG

                    Iris

                    1. Ne das geht nicht, dann kann ich mich nicht mehr einloggen

                      versteh ich nicht, aber wenns dir so passt solls mir recht sein ;)

                      was bringt dein select-feld eigentlich, wenn jeder user eh nur auf eine DB zugriff hat?
                      Dachte das sieht schick aus...;-)
                      naja ich glaub ich lass das einfach weg...scheint leichter zu sein

                      Trotzdem DANKE!!!!!für die vielen Tipps

                      dafür gibts ja ein forum

                      wünsch dir noch viel spaß mit deiner DB ;)
                      steckl

          2. Hi,

            dabei wird kein wert abgeschickt. der muss bei den <option>-tags als value drin stehen.

            Nö. Default-Value des value-Attributs ist der Content des option-Elements.

            Wenn ein Browser bei
            <select name="Gruppe:=" class="form">
              <option value=""></option>
              <option >Familie</option>
              <option >Freunde</option>
            </select>
            keinen Wert schickt, ist er defekt.

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            Schreinerei Waechter
            O o ostern ...
            Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.