bin mit latein am ende - perl-help need - 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 sascha (539 Beiträge) am Dienstag, 8.Juni.2004, 09:46.
    bin mit latein am ende - perl-help need

      hallo,

      ich habe einen stinknormalen loginbereich - funktioniert.

      beim login wird ja "$namerein" und "$pwrein" aus der db "nutzerdb" abgefragt, um den zugriff zu bekommen.

      bei folgendem liegt mein problem:
      ich möchte, daß bei jedem db-eintrag (link) "$namerein" und "$pwrein"
      aus der db "nutzerdb" automatisch angehängt wird.

      beispiel:
      folgender link steht in der db:
      http://domain/baseportal/eintritt/login&cmd=do_list&

      und aus der db "dbnutzer" kommt autom. "$namerein" und "$pwrein" ran.

      ergebnis:
      http://domain/baseportal/eintritt/login&cmd=do_list&namerein=loginname&pwrein=musterpasswort


      hier das perl:

      <perl>
      if($namerein ne "")
      {
        get "Login==!$namerein", "nutzerdb", "logincheck";
      
        if($Passwort ne "" && $Passwort eq $pwrein)   {     do_all "db=eintritt Login==!$namerein action=list listfields=-Id,Aktion listtype=list sort=- selectbrowse=no buttonbrowse=no pagebrowse=no keyfield=no" , "namerein", "pwrein";   } else   {     out "<b><font color=FF0000>Anmeldung fehlgeschlagen!</font></b>";     $namerein="";   }
      }
      </perl>
      


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von sascha (539 Beiträge) am Dienstag, 8.Juni.2004, 09:46.
    bin mit latein am ende - perl-help need

      hallo,

      ich habe einen stinknormalen loginbereich - funktioniert.

      beim login wird ja "$namerein" und "$pwrein" aus der db "nutzerdb" abgefragt, um den zugriff zu bekommen.

      bei folgendem liegt mein problem:
      ich möchte, daß bei jedem db-eintrag (link) "$namerein" und "$pwrein"
      aus der db "nutzerdb" automatisch angehängt wird.

      beispiel:
      folgender link steht in der db:
      http://domain/baseportal/eintritt/login&cmd=do_list&

      und aus der db "dbnutzer" kommt autom. "$namerein" und "$pwrein" ran.

      ergebnis:
      http://domain/baseportal/eintritt/login&cmd=do_list&namerein=loginname&pwrein=musterpasswort


      hier das perl:

      <perl>
      if($namerein ne "")
      {
        get "Login==!$namerein", "nutzerdb", "logincheck";
      
        if($Passwort ne "" && $Passwort eq $pwrein)   {     do_all "db=eintritt Login==!$namerein action=list listfields=-Id,Aktion listtype=list sort=- selectbrowse=no buttonbrowse=no pagebrowse=no keyfield=no" , "namerein", "pwrein";   } else   {     out "<b><font color=FF0000>Anmeldung fehlgeschlagen!</font></b>";     $namerein="";   }
      }
      </perl>
      

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 8.Juni.2004, 12:14.
    Re: bin mit latein am ende - perl-help need

     Antworten

    Beitrag von sascha (539 Beiträge) am Dienstag, 8.Juni.2004, 13:47.
    Re: bin mit latein am ende - perl-help need

      hi,

      brauchte nur den schubs in die richtige richtung.
      thanx :-)

      '$Link&namerein=$namerein&pwrein=$pwrein'

      ich wollte jetzt noch




      <schnipp>
      <loop code=perl db=zugang>
      if($namerein ne "")
      {
        get "Login==!$namerein", "anwender", "logincheck";
      
        if($Passwort ne "" && $Passwort eq $pwrein)   {     out "<tr><td>$Bereich</td>";     out "<td>";     out "<a href='$Link&namerein=$namerein&pwrein=$pwrein'>ändern</a>";     out "</td>";     out "</tr></table>"; "namerein", "pwrein";
        } else
      <schnapp>

     Antworten

    Beitrag von sascha (539 Beiträge) am Dienstag, 8.Juni.2004, 13:51.
    Re: bin mit latein am ende - perl-help need

      hi CB,

      brauchte nur den schubs in die richtige richtung.
      thanx :-)

      meinen link generiere ich wie folgt:

      '$Link&namerein=$namerein&pwrein=$pwrein'

      ich wollte jetzt noch über ein feld recht das cmd definieren,
      ob der user do_list oder do_all darf.
      z.b. feld "recht"=1 dann do_all, bei 2 do_list.

      hast du da vielleicht noch einen schubser für mich :-)

      danke
      sascha





      <schnipp>
      <loop code=perl db=zugang>
      if($namerein ne "")
      {
       
      get "Login==!$namerein", "anwender", "logincheck";
      
        if($Passwort ne "" && $Passwort eq $pwrein)   {     out "<tr><td>$Bereich</td>";     out "<td>";     out "<a href='$Link&namerein=$namerein&pwrein=$pwrein'>ändern</a>";     out "</td>";     out "</tr></table>"; "namerein", "pwrein";
        } else
      <schnapp>

     Antworten

    Beitrag von sascha (539 Beiträge) am Dienstag, 8.Juni.2004, 22:08.
    Re: bin mit latein am ende - perl-help need

      die birne brummt, aber es ist geschafft.

      sascha

     Antworten

    Beitrag von micha (85 Beiträge) am Dienstag, 8.Juni.2004, 22:47.
    Re: bin mit latein am ende - perl-help need

      Hi Sascha,

      eher der Anfang des Lateins.
      Hier ein Ansatz von mir. Der geht immer ... ganz ohne bp. Man fängt die Ausgabe zunächst einmal ab, indem man sie einem String zuweist. Die Parameter werden dann per Stringverarbeitung nachträglich in diesen String=Ausgabeseite eingefügt.
      Ob man allerdings baseportalspezifische Ausgaben so einfach abfangen kann, weiss ich nicht.
      Auch bin ich mir im Moment nicht sicher, ob man einen hash so an ein Unterprogramm übergegeben darf. Wenn nicht, so muss man da mit Referenzen arbeiten.
      Der reguläre Ausdruck in dem Unterprogramm reagiert nur auf links in der Form <a href=...?htx=.... >
      Links in Formularen werden nicht geändert. Aber da übergibt man die Parameter wohl auch einfacher in einem Hidden-Feld.

      my $contentxt; my $content=\$contenttxt;
      my %par;
      %par=["recht","1"];         #Beispiel für zusätzliche Parammeter
       
      if($Passwort ne "" && $Passwort eq $pwrein)
        {
      ${$content}=${$content}.<<EOF"<tr><td>$Bereich</td>"
      <td>
      <a href=$Link&namerein=$namerein&pwrein=$pwrein>ändern</a>
      </td>
      </tr></table>
      EOF
      &html_par($content,%par); #hier werden die fehlenden Parameter in die links eingebaut
      

      out ${$content}; #und das ganze ausgeben
        } else .....
      

      #############################
      sub html_par{ 
      #  in die dyn. Links der Seite werden übergebene parameter eingetragen
      

      my ($content,%par)=@_; #Parameterübernahme
      my partxt, my $Schluessel;my $Wert;	
        
      while (($Schluessel, $Wert) = each(%par)) #holt hashinhalt
      {
      $partxt=$partxt."&".$Schluessel."=".$Wert;
      {
      ${$content} =~ s/(a?href=.*".*\?htx\=)(.*?)(\&.*?)"/$1$htx$3$par"/g; #modifiziert perlaufrufe in den links des HTMLcodes und hängt den String $partxt an			
      return;
      }
      

     Antworten

    Beitrag von micha (85 Beiträge) am Dienstag, 8.Juni.2004, 22:56.
    Re: bin mit latein am ende - perl-help need

      ps:
      mir fällt gerade auf: bist du dir sicher, dass du "recht" als Parameter im Internet übertragen möchtest? Sicherheitstechnisch finde ich das nicht sehr ratsam. Es reicht doch völlig aus, wenn dieser Wert in einem zusätzlichen Feld in der Userdatenbank steht.

      vg micha

     Antworten

    Beitrag von sascha (539 Beiträge) am Dienstag, 8.Juni.2004, 23:02.
    Re: bin mit latein am ende - perl-help need

      hi micha,

      danke für den hinweis.
      ich habe es jetzt folgendermaßen umgesetzt:

      <schnipp>
      if($namerein ne "")
      {
        get "Login==!$namerein", "../nutzerdb", "logincheck";
      
        if($Passwort ne "" && $Passwort eq $pwrein && $Recht eq "1")   {     do_all "db=daten ..." , "namerein", "pwrein";                   }elsif ($namerein ne "")               {   get "Login==!$namerein", "../nutzerdb", "logincheck";
        if($Passwort ne "" && $Passwort eq $pwrein && $Recht ne "1")   {     do_all "db=daten"namerein", "pwrein";   } else <schnapp>

     Antworten


     
 Liste der Einträge von 30000 bis 30150: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.05s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!