Re: Hilfe! Warum funktioniert der Code nicht? - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Claus (4645 Beiträge) am Donnerstag, 2.Dezember.2004, 14:12.
    Re: Hilfe! Warum funktioniert der Code nicht?

      Nicht verzweifeln, aber nicht immer irgendwas eintragen, was da nicht hingehört!!

      Versuch mal das hier zu probieren und lies die Erklärungen dazu. Schreibe die ja nicht aus Langeweile!!!


      <html><head><title>Topangebote</title>
      </head><body bgcolor=ffffff>
      <br><ul>
      

      <perl>
      if($namerein ne "")
      {
       
      

      get "Name==!$namerein", "nutzer";


      #Datenbankname wo die berechtigten user eingetragen sind. Der Datenbankname ist in diesem Beispiel "nutzer".Die Feldbezeichnungen in der DB sind in diesem Beispiel "Name" und "Passwort". Wenn Du Andere Bezeichnungen für die Felder hast, musst Du die entsprechend benutzen. Wenn Dein Feld für "Name" in der DB "nutzer" z.B. "Benutzername" lautet, musst du z.B. get "Benutzername==!$namerein","nutzer"; abfragen.
       
      

      if($Passwort ne "" && $Passwort eq $pwrein)
        {
          do_all "db=Topangebote", "namerein", "pwrein";
        } else
        {
          out "<b>Anmeldung fehlgeschlagen!</b>";
          $namerein="";
        }
      }
      

      if($namerein eq "")
      {
       
      out <<EOF;
      <h2>Anmeldung</h2>Bitte melden Sie sich an:
      <form action="http://baseportal.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type=hidden name="htx=" value="$htx">
      <table>
      <tr><td>Name:</td><td><input type="text" name="namerein="></td></tr>
      <tr><td>Passwort:</td><td><input type="password" name="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
      

      EOF

      }
      

      </perl>


      sollte so funktionieren. Die Parameter im do_all musst Du schon selbst einbauen. Ich glaube nicht, daß Sir jemand diese "Arbeit" abnimmt.

      Tip:

      mache einfach mal ein Test-DB mit Template nach Deinen Vorstellungen und schau dir die Parameter im <do action=..... > an.

      diese kannst Du dann im do_all "db=Deine_DB .......", "namerein","pwrein"; mit einfügen.

      OK?

      Claus


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von rocklady (12 Beiträge) am Mittwoch, 1.Dezember.2004, 07:00. WWW: club.prozento.net
    Hilfe! Warum funktioniert der Code nicht?

      Hallo Alle :-)

      Der folgende Code soll die Mitglieder in einen geschützen Bereich führen. Nur leider ist es so, das jeder x beliebige User mit jedem x bliebigem Benutzernamen einloggen kann und die DB-Abfrage nicht funktioniert und somit nicht nur die registrierten User akzeptiert werden. Weiss jemand, was an dem folgenden Code nicht stimmt? Ich bin hier schon am Verzweifeln, weil ich noch am Anfang stehe und den Fehler nicht finde.

      Vielen Dank für Eure Hilfe.

      LG rocklady:-)

      <html><head><title>Topangebote</title>
      </head><body bgcolor=ffffff>
      <br><ul>
      

      <perl>

      if($namerein ne "")
      {
        get "name==!$namerein", "Clubmitglieder";
      
        if($Passwort ne "" && $Passwort eq $pwrein)   {     do_all "", "namerein", "pwrein";   } else   {     out "<b>Anmeldung fehlgeschlagen!</b>";     $namerein="";   }
      }

      if($namerein eq "")
      {
      

      out <<EOF;
      <h2><font face="Verdana" size="4"><b>Login</b></font></h2><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/rocklady/Topangebote" method="post" enctype="multipart/form-data">
      <input type=hidden name="rocklady/Topangebote=" value="$htx">
      <table>
      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" name="namerein=" value="$namerein"></td></tr>
      <tr><td><font face="Verdana" size="2">Passwort:</font></td><td><input type="password" name="pwrein=" value="$pwrein"></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
      EOF
      

      }

      </perl>
      

     Antworten

    Beitrag von Carlo (9 Beiträge) am Mittwoch, 1.Dezember.2004, 07:50.
    Re: Hilfe! Warum funktioniert der Code nicht?

      ist ja auch klar, du fragst ja auch nur ab, ob der Anmeldename einen Wert hat und wenn ja ob das Passwort einen Wert hat und wenn ja, dann darfs losgehen.

      Du musst schon noch mit den zulässigen Werten vergleichen und nur bei Übereinstimmung erlauben die DB zu bearbeiten - so wie das in der BIB beschrieben ist. Schau dir den Code nochmal genau an, dann findest du auch die Schwachstelle.

     Antworten

    Beitrag von rocklady (12 Beiträge) am Mittwoch, 1.Dezember.2004, 09:22. WWW: club.prozento.net
    Re: Hilfe! Warum funktioniert der Code nicht?

      so, hab jetzt noch mal verglichen, geändert usw. Nun bekomme ich aber immer den folgenden Fehlercode am Ende der perl-prog.:

      Fehlerhafter Perl Code in :
      Missing right curly or square bracket at (eval 29) line 42, at end of line syntax error at (eval 29) line 42, at EOF

      Ich hab natürlich, weil ich in perl nicht so versiert bin, hin und her probiert. Komme aber einfach nicht dahinter.

      LG rocklady :-)

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 1.Dezember.2004, 10:09.
    Re: Hilfe! Warum funktioniert der Code nicht?

      Hi,

      Ohne deinen geänderten Quelltext kann wohl keiner direkt was dazu sagen. Platt ausgedrückt, fehlt eine geschweifte Klammer "{" "}" in Deinem Text.

      Bei Deinem 1. Text "Clubmitglieder" müssen die Nutzer mit Erlaubnis zum Zugang darin eingetragen sein. Name und Passwort. Im do_all"hier sollte mindestens db=deine_datebank","namerein", "pwrein"; drinstehen, auf die angemeldete unser zugreifen dürfen.

      Es handelt sich schließlich um 2 Datenbanken. Einmal "Nutzer" und einmal "Adressen" für die geschützten Daten.

      Hoffe, das hilft Dir erst mal etwas weiter.

      Gruß

      Claus

     Antworten

    Beitrag von rocklady (12 Beiträge) am Mittwoch, 1.Dezember.2004, 11:19. WWW: club.prozento.net
    Re: Hilfe! Warum funktioniert der Code nicht?

      ... ich kriegs einfach nicht hin und vergleiche schon seit zwei Tagen diverse codes (ich weiss, manch einer hat andere Hobbys *g*) und änder sie nach meinen Bedürfnissen und es klappt nicht. Was natürlich daran liegt, das ich kein perl-profi bin. Ich hab jetzt mal die Datenbank mit eingetragen. Nur ist es jetzt so, das beim Öffnen der Seite gleich die Ausgabe mit dem Dialog "Anmeldung fehlgeschlagen" erscheint, bevor ich einen Benutzernamen eingegeben habe.

      Bin ich einfach nur zu blöd, diesen einfachen Code abzuändern? ... Dann sagt´s ruhig. *gg* ...

      ... wenn man die Sciptsprache nicht beherrscht ist es auch immer schwierig einen Fehler zu finden, der manchmal auch nur aus irgendeinem fehlenden oder doppelten Zeichen besteht.

      Der Fehler mit der Klammer ist übrigens schon mal behoben.

      Und was fehlt jetzt noch, damit ich endlich mal nicht mit jedem xyz-benutzernamen auf meine Datenbanken zugreifen kann?



      <html><head><title>Topangebote</title>
      </head><body bgcolor=ffffff>
      <br><ul>
      

      <perl>
      if($namerein ne "db=mitglieder" && $pwrein ne "db=mitglieder")
      {
       
      get "Benutzername==!$namerein", "mitglieder";
      
        if($Passwort ne "mitglieder" && $Passwort eq $pwrein)   {     do_all "db=mitglieder", "namerein", "pwrein";   } else   {     out "<b>Anmeldung fehlgeschlagen!</b>";     $Benutzername="mitglieder";     $namerein="mitglieder";   } } {

      out <<EOF;
      <h2><font face="Verdana" size="4"><b>Login</b></font></h2><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=rocklady/Topangebote" method="post" enctype="multipart/form-data">
      <input type=hidden name="rocklady/Topangebote=" value="$htx">
      <table>
      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" Benutzername="namerein=" value="$namerein"></td></tr>
      <tr><td><font face="Verdana" size="2">Passwort:</font></td><td><input type="password" Benutzername="pwrein=" value="$pwrein"></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
       
      EOF
      }
      

      </perl>

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 1.Dezember.2004, 11:30. WWW: automobilhai.de
    Re: Hilfe! Warum funktioniert der Code nicht?

      Kann ja auch nicht klappen!!!!!

      Hier nochmal langsam und zum "mitschreiben"!!!
      <perl>
      

      if($namerein ne "")
      {
       
      

      #Wurde ein Name angegeben?




        get "Name==!$namerein", "nutzer";
      
      -------------------------------------------------
      #In dieser Datenbank werden die zugelassenen user mit Namen und Passwort eingetragen. Rechte unter Verwaltung keine!!!!#
      -------------------------------------------------
       

      #Ja: Eintrag mit diesem Namen aus Nutzer-Datenbank holen.
        if($Passwort ne "" && $Passwort eq $pwrein)
        {
       
      

      #Stimmt das übergebene Passwort mit dem in der Nutzerdatenbank!!!!! überein?




          do_all "db=deine_datenbank", "namerein", "pwrein";
      
      -----------------------------------------------------------------------
      #hier kommt deine_datenbank mit dem Inhalt, den die berechtigten!!!user aus der Nutzerdatenbank!!!!! sehen und gegebenenfalls bearbeiten dürfen!#
      ------------------------------------------------------------------------

      #Ja: Übergabeparameter so setzen, dass die Anmeldung (Name und Passwort) auch bei weiteren Links durchgereicht wird. Das "do_all" entspricht einem <do action=all>. Der erste Wert ist leer (""), da drin können die bei <do action=all> üblichen Parameter übergeben werden.-
        } else
        {
          out "<b>Anmeldung fehlgeschlagen!</b>";
          $namerein="";
       
      

      Passwort falsch: Entsprechende Meldung ausgeben und Nutzername löschen, um im folgenden das Anmeldeformular auszugeben.




        }
      }
      

      if($namerein eq "")
      {
       
      

      #Der Nutzer ruft die Seite zum ersten Mal auf oder ein Anmeldeversuch hat fehlgeschlagen.




      out <<EOF;
      <h2>Anmeldung</h2>Bitte melden Sie sich an:
      <form action="http://baseportal.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type=hidden name="htx=" value="$htx">
      <table>
      <tr><td>Name:</td><td><input type="text" name="namerein="></td></tr>
      <tr><td>Passwort:</td><td><input type="password" name="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
      EOF
       
      

      Anmeldeformular ausgeben.




      }
      

      </perl>





      '
      #Ich hoffe, das ist jetzt klar genug???
      
      Gruß

      Claus

     Antworten

    Beitrag von rocklady (12 Beiträge) am Donnerstag, 2.Dezember.2004, 11:45. WWW: club.prozento.net
    Re: Hilfe! Warum funktioniert der Code nicht?

      Danke Claus, zum Mitschreiben ist immer gut. *gg* ... hat auch prima funktioniert. Nun möchte ich aber folgendes noch ändern:

      out "<b>Anmeldung fehlgeschlagen!</b>";
          $namerein="";
      

      hier möchte ich gerne statt des Eingabeformulares im "out" eine weiterführende URL einfügen. Hab natürlich wieder hin und her probiert, was natürlich nicht funktioniert hat.

      Wenn ich die "pearl-Befehlsfolge" richtig definiert habe, erscheint dort ja ein Verweis auf die Datenbank, auf die registrierte User zugreifen können bei erfolgreicher Anmeldung, richtig?

      Meine Frage ist nun, wie die registrierten User dann gleich auf die entsprechende Seite weitergeleitet werden können, welche die entsprechende Datenbank enthält. Denn momentan ist es so, das ich eine Fehlermeldung bekomme im Hinblick auf die im "form action=" definierte Loginseite.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 2.Dezember.2004, 12:07.
    Re: Hilfe! Warum funktioniert der Code nicht?

      Hi,

      schön, das es soweit schon funktioniert. Verstehe allerdings die Frage nicht so ganz.


      hier nochmal der wichtige Teil des Codes


      <perl>
       
      

      if($namerein ne "")
      {
       
      get "name==!$namerein", "Clubmitglieder";
      #in der Datei "Clubmitglieder" sind Name und Passwort des jeweiligen berichtigten users gespeichert(DB unter Verwaltung alle Häkchen entfernen, falls noch nicht geschehen)
        if($Passwort ne "" && $Passwort eq $pwrein)
        {
          do_all "*)", "namerein", "pwrein";
      #*)hier wird die DB angegeben, in der die eigentlichen Daten für berechtigte user bei erfolgreichem Login ausgegeben.
      #Beispiel:     do_all " db=AlleVeranstaltungen....Parameter wie detail=link search=link input=link usw. ", "namerein", "pwrein";
      #Hier der Link in der Doku für mögliche Parameterangaben: http://baseportal.de/baseportal/doku/baseportal.pl?htx=/doku/wiki&kennung=66
      
        } else   {     out "<b>Anmeldung fehlgeschlagen!</b>";     $namerein="";   }

      hier der Rest vom Template
       

      hoffe, das hilft Dir weiter.

      Gruß

      Claus

      PS: jeder hat mal angefangen!!

     Antworten

    Beitrag von rocklady (12 Beiträge) am Donnerstag, 2.Dezember.2004, 12:55. WWW: club.prozento.net
    Re: Hilfe! Warum funktioniert der Code nicht?

      Hi claus, leider hab ich mich zu früh gefreut. Hier vorab nochmal der komplette Code der Seite:

      <html><head><title>Topangebote</title>
      </head><body bgcolor=ffffff>
      <br><ul>
      

      <perl>
      if($namerein ne "")
      {
       
      get "Benutzername==!$namerein", "nutzer";
      
        if($Passwort ne "" && $Passwort eq $pwrein)   {     do_all "Topangebote", "namerein", "pwrein";   } else   {     out "<b>Anmeldung fehlgeschlagen!</b>";     $namerein="";   }
      }

      if($namerein eq "")
      {
      

      out <<EOF;
      <h2><font face="Verdana" size="4"><b>Login</b></font></h2><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/meinname/meinedb" method="post" enctype="multipart/form-data">
      <input type=hidden name="meinname/meinedb=" value="$htx">
      <table>
      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" Benutzername="namerein="<td></tr>
      <tr><td><font face="Verdana" size="2">Passwort:</font></td><td><input type="password" Benutzername="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
       
      EOF
      }
      

      </perl>

      wenn ich die Seite so aufrufe, dann besteht immer noch die Möglichkeit, das sich jeder (auch nicht registrierte User) anmelden können. Mir raucht schon so dermaßen der Kopf. Vielleicht mach ich auch nur einen Denkfehler. Mit den Parameterangaben kann ich leider so gar nichts anfangen, weil ich nicht weiss, wie ich sie umsetzen muss, da ich bzgl. Pearl quazi ein absoluter "DAU" bin. *gg* Zum Anderen arbeite ich auch erst seit ein paar Wochen mit baseportal und muss mich noch in so einiges reinarbeiten.

      Mein Problem ist nur, das ich vor kurzem eine Seite übernommen habe, die nun von der Hauptseite abgekoppelt wurde und eigenständig laufen soll. Nun muss ich halt alle Login-Geschichten neu konfigurieren, was gar nicht so einfach ist, wenn man sich, wie hier, mit Pearl nicht wirklich auskennt. Es gibt bereits registrierte User und nun muss ich halt mal fix das Ding wieder zum Laufen bringen und so schnell wie möglich meinen Login hier auf die Reihe bekommen.

      Da ich mich nun aber schon 2 Tage mit dem Problem auseinandersetze, dreht sich mir nur noch der Kopf und wie gesagt, wahrscheinlich habe ich irgendwo nur einen Denkfehler bei der ganzen Sache gemacht.

      Vielleicht weisst Du ja Rat.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 2.Dezember.2004, 14:12.
    Re: Hilfe! Warum funktioniert der Code nicht?

      Nicht verzweifeln, aber nicht immer irgendwas eintragen, was da nicht hingehört!!

      Versuch mal das hier zu probieren und lies die Erklärungen dazu. Schreibe die ja nicht aus Langeweile!!!


      <html><head><title>Topangebote</title>
      </head><body bgcolor=ffffff>
      <br><ul>
      

      <perl>
      if($namerein ne "")
      {
       
      

      get "Name==!$namerein", "nutzer";


      #Datenbankname wo die berechtigten user eingetragen sind. Der Datenbankname ist in diesem Beispiel "nutzer".Die Feldbezeichnungen in der DB sind in diesem Beispiel "Name" und "Passwort". Wenn Du Andere Bezeichnungen für die Felder hast, musst Du die entsprechend benutzen. Wenn Dein Feld für "Name" in der DB "nutzer" z.B. "Benutzername" lautet, musst du z.B. get "Benutzername==!$namerein","nutzer"; abfragen.
       
      

      if($Passwort ne "" && $Passwort eq $pwrein)
        {
          do_all "db=Topangebote", "namerein", "pwrein";
        } else
        {
          out "<b>Anmeldung fehlgeschlagen!</b>";
          $namerein="";
        }
      }
      

      if($namerein eq "")
      {
       
      out <<EOF;
      <h2>Anmeldung</h2>Bitte melden Sie sich an:
      <form action="http://baseportal.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type=hidden name="htx=" value="$htx">
      <table>
      <tr><td>Name:</td><td><input type="text" name="namerein="></td></tr>
      <tr><td>Passwort:</td><td><input type="password" name="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
      

      EOF

      }
      

      </perl>


      sollte so funktionieren. Die Parameter im do_all musst Du schon selbst einbauen. Ich glaube nicht, daß Sir jemand diese "Arbeit" abnimmt.

      Tip:

      mache einfach mal ein Test-DB mit Template nach Deinen Vorstellungen und schau dir die Parameter im <do action=..... > an.

      diese kannst Du dann im do_all "db=Deine_DB .......", "namerein","pwrein"; mit einfügen.

      OK?

      Claus

     Antworten

    Beitrag von rocklady (12 Beiträge) am Donnerstag, 2.Dezember.2004, 15:21. WWW: club.prozento.net
    Re: Hilfe! Warum funktioniert der Code nicht?

      Hi claus ... ich bin aber bald am verzweifeln ;-)
      Die Felder heissen bei mir auch "Benutzername" und "Passwort", die ich entsprechend im Code schon geändert habe, worauf aber auch nichts passierte. Ich konnte auch hier mit Klick auf "Anmelden" problemlos in die Datenbank, was doch heisst, das diese Abfrage überhaupt nicht stattfindet. Meine Datenbank mit den berechtigten Usern nennt sich auch "nutzer", was ebenfalls im "get-Befehl" steht. Was die Parameter betrifft, habe ich eine Kopie der DB Topangebote angefertigt, ein neues Template erstellt und mir die do_all-Parameter rauskopiert und entsprechend eingefügt, was nun wie folgt aussieht:

      <perl>
      if($namerein ne "")
      {
       
      get "Benutzername==!$namerein", "nutzer";
      
        if($Passwort ne "" && $Passwort eq $pwrein)   {     do_all "db=Topprobe, action=all range^=0,20 sort=Id,Artikel,Lieferant searchfields=Artikel,Lieferant listfields=Artikel,Lieferant,Homepage,Kontakt,Zusatz/Bemerkungen allfields=Artikel,Lieferant,Homepage,Kontakt,Zusatz/Bemerkungen formfields=Artikel,Lieferant,Homepage,Kontakt,Zusatz/Bemerkungen showsort=Id,Artikel,Lieferant showamount=all,sel selectbrowse=top buttonbrowse=top pagebrowse=top indexbrowse=top listtype=list language=de detail=link search=link input=link", "namerein", "pwrein";   } else   {     out "<b>Anmeldung fehlgeschlagen!</b>";     $namerein="";   }
      }

      if($namerein eq "")
      {
      

      out <<EOF;

      Hier weiss ich jetzt jedoch nicht, welche Parameter notwendig sind und welche nicht. Aber nichts desto trotz kann nach wie vor jeder auf die DB zugreifen.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 2.Dezember.2004, 15:56.
    Re: Hilfe! Warum funktioniert der Code nicht?

      Hast Du den Rest genau so????

      Wichtig ist, daß bei


      <form action="http://baseportal.de/cgi-bin/baseportal.pl?htx=$htx" 
      

      keine db-Angaben stehen!!!





      out <<EOF;
      <h2>Anmeldung</h2>Bitte melden Sie sich an:
      <form action="http://baseportal.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type=hidden name="htx=" value="$htx">
      <table>
      <tr><td>Name:</td><td><input type="text" name="namerein="></td></tr>
      <tr><td>Passwort:</td><td><input type="password" name="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
       
      

      EOF



      }
      

      </perl>


      hast Du vielleicht mal einen Link??

      Wie sieht der Aufruf des entsprechenden Templates aus???

      Eigentlich sollte es funktonieren.

      Bei Aufruf erscheint das Login-Formular, wenn name und pw richtig, dann Ausgabe der DB. Sonst wieder Login-Formular.


      Ach so, hinter dem </perl> darf nichts mehr stehen!!!!!!!!!!!!!!

      gibt es da vielleicht bei Dir noch irgendwas wie do.....?

      Gruß

      Claus

     Antworten

    Beitrag von rocklady (12 Beiträge) am Donnerstag, 2.Dezember.2004, 17:45. WWW: club.prozento.net
    Re: Hilfe! Warum funktioniert der Code nicht?

      Hallo Claus ...

      der Rest sieht nun so aus:
      out <<EOF;
      <h2><font face="Verdana" size="4"><b>Login</b></font></h2><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type=hidden name="angebotetop=" value="$htx">
      <table>
      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" Benutzername="namerein="<td></tr>
      <tr><td><font face="Verdana" size="2">Passwort:</font></td><td><input type="password" Benutzername="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
       
      EOF
      }
      

      </perl>

      wahrscheinlich habe ich hier eine falsche Eingabe gemacht bzw. eine Eingabe nicht gemacht. Mein Formular heisst "angebotetop". Oder muss das im "form action nicht mehr aufgeführt werden?

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 2.Dezember.2004, 18:13.
    Re: Hilfe! Warum funktioniert der Code nicht?

      nicht eingeben!!!


      out <<EOF;
      <h2><font face="Verdana" size="4"><b>Login</b></font></h2><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      


      falsch!!!!!
      <input type=hidden name="angebotetop=" value="$htx">
      <table>
      

      Richtig!!!!
      <input type=hidden name="htx=" value="$htx">
      <table>
      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" Benutzername="namerein="<td></tr>
      <tr><td><font face="Verdana" size="2">Passwort:</font></td><td><input type="password" Benutzername="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
       
      

      EOF





      }
      

      </perl>

     Antworten

    Beitrag von rocklady (12 Beiträge) am Donnerstag, 2.Dezember.2004, 18:44. WWW: club.prozento.net
    Re: Hilfe! Warum funktioniert der Code nicht?

      oh man, jetzt bin ich aber wirklich gleich der Verzweiflung nahe. Vielen Dank erstmal für Deine Geduld. Hier ist nun der komplette Code nocheinmal, mit der entsprechenden Korrektur. Wenn ich jetzt einen registrierten Nutzer oder auch sonstige Benutzernamen und PW´s in die Login-Eingabeaufforderung eingebe passiert gar nichts und ich bleibe in der Login-Eingabeaufforderung.

      <html><head><title>Topangebote</title>
      </head><body bgcolor=ffffff>
      <br><ul>
      

      <perl>
      if($namerein ne "")
      {
       
      get "Benutzername==!$namerein", "nutzer";
      
        if($Passwort ne "" && $Passwort eq $pwrein)   {     do_all "db=Topangebote action=all range^=0,20 sort=Id,Artikel,Lieferant searchfields=Artikel,Lieferant listfields=Artikel,Lieferant,Homepage,Kontakt,Zusatz/Bemerkungen allfields=Artikel,Lieferant,Homepage,Kontakt,Zusatz/Bemerkungen formfields=Artikel,Lieferant,Homepage,Kontakt,Zusatz/Bemerkungen showsort=Id,Artikel,Lieferant showamount=all,sel selectbrowse=top buttonbrowse=top pagebrowse=top indexbrowse=top listtype=list language=de detail=link search=link input=link", "namerein", "pwrein";   } else   {     out "<b>Anmeldung fehlgeschlagen!</b>";     $namerein="";   }
      }

      if($namerein eq "")
      {
      

      out <<EOF;
      <h2><font face="Verdana" size="4"><b>Login</b></font></h2><form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
      <input type=hidden name="htx=" value="$htx">
      <table>
      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" Benutzername="namerein="<td></tr>
      <tr><td><font face="Verdana" size="2">Passwort:</font></td><td><input type="password" Benutzername="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
       
      EOF
      }
      

      </perl>

      Und hier mal der Link der Loginseite:
      http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/rocklady/logintop

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 2.Dezember.2004, 19:17.
    Re: Hilfe! Warum funktioniert der Code nicht?

      Hi,

      habe heute meinen "spendablen" Tag, da ich momentan ein paar Überlegungen bezüglich meiner eigenen Datenbanken anstelle. Da ist immer mal ein wenig "Leerlauf" zum regenerieren.

      Mir ist da was aufgefallen.

      http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/rocklady/logintop

      Wie heißt denn nun Deine db. logintop oder Zopangebote??? dem Link nach zu urteilen, dürfte die db wohl logintop heißen. Dann musst Du natürlich im do_all auch db=logintop eintragen.

      Außerdem hast Du im form action schon wieder nicht den Text gelassen.


      so lauten die entsprechenden Zeilen!!!!!!!!!
      Bei Passwort nicht!!!!Benutzername sondern so wie es hier unten steht


      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" Benutzername="namerein="<td></tr>
      <tr><td><font face="Verdana" size="2">Passwort:</font></td><td><input type="password" name="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
      

       
      EOF
      

      }

      </perl>
       
      
      Sollte jetzt funktionieren.

      Gruß
      Claus

     Antworten

    Beitrag von rocklady (12 Beiträge) am Donnerstag, 2.Dezember.2004, 19:33.
    Re: Hilfe! Warum funktioniert der Code nicht?

      also, es gibt eine Datenbank "nutzer" mit den Zugangsberechtigten (keine Rechte in der Verwaltung eingegeben), eine Datenbank "Topangebote" mit Leserechten und eine Seite, hier logintop, die auf DB Topangebote bei Login registrierter User zugreifen soll.

      Wenn da jetzt aber im do_all die DB Topangebote definiert ist, warum wird dann als DB "logintop" ausgegeben?

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 2.Dezember.2004, 20:07.
    Re: Hilfe! Warum funktioniert der Code nicht?

      gibt es denn keine Seite "Topangebote"? Wenn Du die Seite logintop aufrufen willst, um den registrierten usern zugriff darauf zu geben, musst Du in dem Template "logintop" auch die db "Topangebote" dort im do angeben!!

      Ist schon alles sehr verworren bei Dir.

     Antworten

    Beitrag von rocklady (12 Beiträge) am Donnerstag, 2.Dezember.2004, 20:11.
    Re: Hilfe! Warum funktioniert der Code nicht?

      doch, es gibt eine Seite "Topangebote" und im "logintop" ist ja auch die DB Topangebote im do_all angegeben.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Freitag, 3.Dezember.2004, 11:34.
    Re: Hilfe! Warum funktioniert der Code nicht?Noch ein Fehler!!!

      noch einen Fehler gefunden!!

      kommt vom vielen "Rumwursteln" im Quelltext"!!

      falsch!!!!!

      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" Benutzername="namerein="<td></tr>
      

      Richtig!!!!

      <tr><td><font face="Verdana" size="2">Benutzername:</font></td><td><input type="text" name="namerein="<td></tr>
      <tr><td><font face="Verdana" size="2">Passwort:</font></td><td><input type="password" name="pwrein="></td></tr>
      <tr><td></td><td><input type=submit value="Anmelden"></td></tr>
      </table></form>
      

     Antworten

    Beitrag von Claus (4645 Beiträge) am Donnerstag, 2.Dezember.2004, 20:48.
    Re: Hilfe! Warum funktioniert der Code nicht?

      Bin mir nicht sicher, aber DB und aufgerufenes Template müssen den gleichen Namen haben, damit das ganze funktioniert.

      Die Seite zum lesen für alle kann heißen wie sie will.

      Probier das mal.

     Antworten


     
 Liste der Einträge von 26851 bis 27001:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!