Probleme bei if Abfrage in Perl Script

Diskutiere und helfe bei Probleme bei if Abfrage in Perl Script im Bereich Webmaster Support, Scripts, etc im SysProfile Forum bei einer Lösung; Hallo, ist hier evtl. jemand, der sich ein bisschen mit Perl auskennt und mir helfen könnte? ich habe eine if-Anweisung, die so aussieht: if... Dieses Thema im Forum "Webmaster Support, Scripts, etc" wurde erstellt von Mic, 27. Dezember 2009.

  1. Mic
    Mic Lebende CPU
    Registriert seit:
    13. Dezember 2007
    Beiträge:
    1.349
    Zustimmungen:
    45
    Name:
    Michael
    1. SysProfile:
    48811
    2. SysProfile:
    31071
    105840

    Hallo,

    ist hier evtl. jemand, der sich ein bisschen mit Perl auskennt und mir helfen könnte?

    ich habe eine if-Anweisung, die so aussieht:

    Code:
    if ($Titelselect=="") {
      $Select1 = "titel='$Titelselect'"}
    else { 
      $Select1 = "titel!=''"};
    
      my $sql = qq{select * from filme where $Select1};
      my $sth = $dbh->prepare($sql);
      $sth->execute();
    
    Wie man vll. erkennen kann, soll die Datenbankausgabe nach einem gewissen Wert $Titelselect gefiltert werden. Wenn $Titelselect irgend ein Wert ist, soll die Tabelle nach dem Wert, der in der Spalte "titel" vorkommt, gefiltert werden. Wenn $Titelselect nichts ist also "" ist, soll $Select1 titel!="" sein, damit nichts gefiltert wird.
    Der erste Teil, also dass $Titelselect ein Wert ist funktioniert. Aber wenn Titelselect nichts ist, wird $Select1 gleich titel="" gesetzt und nicht titel!="". Stimmt in der If, Else Syntax etwas nicht, oder wieso funktioniert die If else Anweisung nicht richtig?
     
  2. Racer X
    Racer X Alter Hase
    Registriert seit:
    11. April 2008
    Beiträge:
    2.222
    Zustimmungen:
    78
    1. SysProfile:
    72607
    2. SysProfile:
    14421

    AW: Probleme bei if Abfrage in Perl Script

    Ich verstehe zwar dein Ganzes Programm nicht, auch nicht warum du nicht PHP nimmst.

    Aber in der Zweiten Zeile fehlt ein ;
     
  3. Mic
    Mic Lebende CPU
    Themenstarter
    Registriert seit:
    13. Dezember 2007
    Beiträge:
    1.349
    Zustimmungen:
    45
    Name:
    Michael
    1. SysProfile:
    48811
    2. SysProfile:
    31071
    105840
    AW: Probleme bei if Abfrage in Perl Script

    Also ich benutze Perl, weil ich ein bisschen damit rumprobieren möchte. Das ganze soll nur ne Übung sein.
    Momentan soll das Script eine Tabelle aus einer Datenbank auslesen und diese Tabelle in HTML wieder ausgeben. Unter der Tabelle will ich eine Möglichkeit einbauen diese Tabelle nach gewissen Werten zu Filtern. Unter jede Spalte soll ein Select-Feld kommen, in dem die Werte, die in jeder Spalte stehen aufgelistet sind. Wenn ich einen von ihnen auswähle soll die Tabelle nach dem Wert gefiltert werden. Momentan schicke ich die Auswahl mit einem Submit-Button an dieses Skript.

    Ich habe die Semikolon jetzt so angeordnet wie hier, aber es funktioniert trotzdem nur so, wie bis jetzt auch... :/


    Ich hab an der If-Abfrage mal rumprobiert und komischerweise funktioniert die If-Abfrage so wie es jetzt es, bis auf das, wenn $Titelselect="" ist. Anscheinend wir die If-Anweisung ignoriert und immer das erste Argument ausgeführt?!
    Übrigens meine Perl Version ist die 5.10.0
    Code:
    [Spoiler="Quelltext"]
    use CGI;
    use DBI;
    
    my $cgi = new CGI;
    
    $query=new CGI;
    $Titelselect = $query->param('Titel');
    $Beschreibungselect = $query->param('Beschreibung');
    
        print "Content-type: text/html\n\n";
        print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
        print "<html>\n";
        print "<head>\n";
        print "<title>Datenbankabrage - mySQL</title>\n";
        print '<script type="text/javascript">', "\n";
        print "function reloadPage() { \n";
        print "location.reload(true); } \n";
        print 'setTimeout("reloadPage()",100000) ;', "\n";
        print "</script>\n";
        print "</head>\n";
        print "<body>\n";
      my $DB_NAME = "pdotest";
      my $DB_DSN = "DBI:mysql:database=$DB_NAME";
      my $DB_USER = "root";
      my $DB_PASSWD = "Michael";
      my $dbh = DBI->connect($DB_DSN, $DB_USER, $DB_PASSWD) or die "Fehler bei Datenbankverbindung: $!";
        print "<table>\n";
        print "  <tr>\n";
        print "    <td>\n";
        print "      <span style='font-size:2em'><u><b>Filme</b></u></span><br><br>\n";
        print "    </td>\n";
        print "  </tr>\n";
        print "  <tr>\n";
        print "    <td>\n";
        print "      <table>\n";
        print "        <tr>\n";
        print "          <td width='30'>\n";
        print "          </td>\n";
        print "          <td>\n";
        print "            <table>\n";
        print "              <tr>\n";
        print "                <td>\n";
        print "                  <span style='font-size:1.3em'><u><b>Inhalt aus der Datenbank:</b></u></span>\n";
        print "                </td>\n";
        print "              </tr>\n";
        print "              <tr>\n";
        print "                <td>\n";
    
    if ($Titelselect=="") {
      $Select1 = "titel='$Titelselect'";}
    else { 
      $Select1 = "titel!=''";}
    
      my $sql = qq{select * from filme where $Select1};
      my $sth = $dbh->prepare($sql);
      $sth->execute();
        print '                  <br><table style="(font-size:12px)" border="0" rules="none">',"\n";
        print "                    <tr>\n";
        print '                      <th align="center" width="34"></th>', "\n";
        print '                      <th align="center" width="60" bgcolor="#C0C0C0"><span style="color:white">Lfd. N.</span></th>', "\n";
        print '                      <th align="center" width="150" bgcolor="#C0C0C0"><span style="color:white">Titelname</span></th>', "\n";
        print '                      <th align="center" width="60" bgcolor="#C0C0C0"><span style="color:white">Teil</span></th>', "\n";
        print '                      <th align="center" width="200" bgcolor="#C0C0C0"><span style="color:white">Beschreibung</span></th>', "\n";
        print '                      <th align="center" width="132" bgcolor="#C0C0C0"><span style="color:white">Dauer in Min</span></th>', "\n";
        print '                      <th align="center" width="132" bgcolor="#C0C0C0"><span style="color:white">Erscheinungsjahr</span></th>', "\n";
        print "                    </tr>\n";
        while(@ergebnis=$sth->fetchrow_array)
        {
         print "                   <tr>\n";   
         print "                     <td align='center'></td>\n";
         print "                     <td align='center' bgcolor='#C0C0C0'><span style='color:white'>$ergebnis[0]</span></td>\n";
         print "                     <td align='center'>$ergebnis[1]</td>\n";
         print "                     <td align='center'>$ergebnis[2]</td>\n";
         print "                     <td align='left'>$ergebnis[3]</td>\n";
         print "                     <td align='center'>$ergebnis[4]</td>\n";
         print "                     <td align='center'>$ergebnis[5]</td>\n";
         print "                   </tr>\n";
        }
         print "                 </table>\n";
      $sth->finish();
        print "                </td>\n";
        print "              </tr>\n";
        print "              <tr>\n";
        print "                <td>\n";         
        print "                  <form name='Select' action='http://localhost/Perl/connectmysqlOO.pl' method='get'><table>\n";
        print "                    <tr>\n";
        print "                      <td width='100'>\n";
        print "                        <br><input type='submit' value='Aktualisieren'>\n";
        print "                      </td>\n";
        print "                      <td width='132'>\n";
        print '                        <br><select name="Titel" size="1">',"\n";
    my $sql = qq{select titel from filme};
    my $sth = $dbh->prepare($sql);
    $sth->execute();
        while(@ergebnis=$sth->fetchrow_array)
        {
        print "                          <option value='$ergebnis[0]'>$ergebnis[0]</option>","\n";
        }
    $sth->finish();
        print '                          <option value="" selected>--------------------------</option>',"\n";
        print '                        </select>',"\n";
        print "                      </td>\n";
        print "                      <td width='132'>\n";
        print '                        <br><select name="Beschreibung" size="1">',"\n";
    my $sql = qq{select teil from filme};
    my $sth = $dbh->prepare($sql);
    $sth->execute();
        while(@ergebnis=$sth->fetchrow_array)
        {
        print "                          <option value='$ergebnis[0]'>$ergebnis[0]</option>","\n";
        }
    $sth->finish();
        print '                          <option value="" selected>--------------------------</option>',"\n";
        print '                        </select>',"\n";
        print "                      </td>\n";
        print "                      <td>$Select1\n";
        print "                      </td>\n";
        print "                      <td>,$Titelselect,\n";
        print "                      </td>\n";
        print "                    </tr>\n";
        print "                  </table></form>\n";
        print "                </td>\n";  
        print "              </tr>\n";
        print "            </table>\n";
        print "          </td>\n";
        print "        </tr>\n";
        print "      </table>\n";
        print "    </td>\n";
        print "  </tr>\n";
        print "</table>\n";
      $dbh->disconnect();
        print "</body>\n";
        print "</html>\n";
    [/Spoiler]
    Komischerweise funktioniert es nicht, wenn man ein Code-Tag im Spoiler-Tag benutzen will aber umgekehrt schon. Könnte man das vll. umändern?
     
  4. Racer X
    Racer X Alter Hase
    Registriert seit:
    11. April 2008
    Beiträge:
    2.222
    Zustimmungen:
    78
    1. SysProfile:
    72607
    2. SysProfile:
    14421
    AW: Probleme bei if Abfrage in Perl Script

    Also soo würd ich die Semikolons (Bei PHP) setzen.

    Und Lösch mal dein Passwort aus deim Geposteten Code. Kommt sicher nicht so gut sein MySql Passwort zu veröffentlichen

    Aber ich verstehe das ganze immer noch nicht ^^
    Also wenn
    $Titelselect Kein inhalt hat dann soll $Select1 = "titel='$Titelselect'"; sein. Ansonsten soll $Select1 = "titel!='''; Sein.


    if ($Titelselect=="Hier muss doch ein Wert oder eine Variable stehen") {
    $Select1 = "titel='$Titelselect'";
    }

    else {
    $Select1 = "titel!='Hier genauso'';
    }

    my $sql = qq{select * from filme where $Select1};
    my $sth = $dbh->prepare($sql);
    $sth->execute();
     
  5. Mic
    Mic Lebende CPU
    Themenstarter
    Registriert seit:
    13. Dezember 2007
    Beiträge:
    1.349
    Zustimmungen:
    45
    Name:
    Michael
    1. SysProfile:
    48811
    2. SysProfile:
    31071
    105840
    AW: Probleme bei if Abfrage in Perl Script

    Das Passwort ist mir egal, weil der PC an dem ich das Ausprobiere eh nicht am Netz hängt. Ich probiere nur mit Perl herum.

    Das Skript soll einfach nur ne Tabelle sortieren und als HTML ausgeben. Später soll noch dazukommen, dass ich auch Zeilen einfügen, ändern und löschen kann. Das Skript hat noch keinen Sinn. Ist nur rein zu Testzwecken.

    Also Wenn ich nach nichts filtern möchte, wähle ich in dem Select-Feld nichts aus -> der Value "" also nichts wird übertragen. Somit soll $Select1 titel!="" sein.
    Wenn ich nachetwas filtern möchte, wähle ich im Select-Feld etwas aus -> ein Wert wird übertragen. Somit soll $Select1 titel="Wert" sein.

    So hab ich die Semikolon doch oben gesetzt.

    Das Problem mit der IF-Abfrage scheint anscheinend zu sein, dass immer nur das erste Argument ausgeführt wird , egal was für Titelselect raus kommt
     
  6. Racer X
    Racer X Alter Hase
    Registriert seit:
    11. April 2008
    Beiträge:
    2.222
    Zustimmungen:
    78
    1. SysProfile:
    72607
    2. SysProfile:
    14421
    AW: Probleme bei if Abfrage in Perl Script

    Wie soll er denn eine Verbindung zur datenbank aufbauen wen der Computer keine Internetverbindung hat ?

    Eigentlich hab ich keine Perl Kenntnisse. Also von daher denke ich, dass ich nicht mehr weiterhelfen kann.
     
  7. McAtze
    McAtze Alter Hase
    Registriert seit:
    1. Januar 2009
    Beiträge:
    2.042
    Zustimmungen:
    70
    AW: Probleme bei if Abfrage in Perl Script

    bestimmt mit einer lokalen MySQL DB .. ;)
     
  8. Mic
    Mic Lebende CPU
    Themenstarter
    Registriert seit:
    13. Dezember 2007
    Beiträge:
    1.349
    Zustimmungen:
    45
    Name:
    Michael
    1. SysProfile:
    48811
    2. SysProfile:
    31071
    105840

    AW: Probleme bei if Abfrage in Perl Script

    Richtig. Ich benutze dafür Xampp
     
Thema:

Probleme bei if Abfrage in Perl Script

Die Seite wird geladen...

Probleme bei if Abfrage in Perl Script - Similar Threads - Probleme Abfrage Perl

Forum Datum

Firefox 153.0.1 behebt Probleme beim Start & weitere Bugs

Firefox 153.0.1 behebt Probleme beim Start & weitere Bugs: Firefox 153.0.1 behebt Probleme beim Start & weitere Bugs Das große Update bringt eine ganze Reihe von Komfort-Features, wichtige Sicherheitskorrekturen sowie eine Verbesserung für Windows-Nutzer...
User-Neuigkeiten Dienstag um 19:22 Uhr

Google Maps mit Störungen: Probleme bei der Anzeige von Verkehrsinformationen

Google Maps mit Störungen: Probleme bei der Anzeige von Verkehrsinformationen: Google Maps mit Störungen: Probleme bei der Anzeige von Verkehrsinformationen Zahlreiche Nutzer berichten, dass die gewohnten farbigen Markierungen für die aktuelle Verkehrslage auf den Straßen...
User-Neuigkeiten Montag um 14:22 Uhr

Windows 11: Microsoft verteilt außerplanmäßiges Update gegen Performance-Probleme

Windows 11: Microsoft verteilt außerplanmäßiges Update gegen Performance-Probleme: Windows 11: Microsoft verteilt außerplanmäßiges Update gegen Performance-Probleme Da es sich um ein kumulatives Update handelt, bringt es alle bisherigen Sicherheits- und Qualitätsverbesserungen...
User-Neuigkeiten 19. Juli 2026

Galaxy S26 Ultra: Nutzer klagen über Display-Probleme, Samsung sondiert bereits die Lage

Galaxy S26 Ultra: Nutzer klagen über Display-Probleme, Samsung sondiert bereits die Lage: Galaxy S26 Ultra: Nutzer klagen über Display-Probleme, Samsung sondiert bereits die Lage Doch einige Nutzer haben Probleme mit dem Bildschirm. Dieser zeigt bei Betroffenen zunehmend einen immer...
User-Neuigkeiten 14. Juli 2026

IONOS kämpft mit Problemen beim E-Mail-System

IONOS kämpft mit Problemen beim E-Mail-System: IONOS kämpft mit Problemen beim E-Mail-System Der Anbieter kämpft derzeit mit einer technischen Störung in seinen E-Mail-Systemen.. . IONOS kämpft mit Problemen beim E-Mail-System
User-Neuigkeiten 10. Juli 2026

Android 17: Probleme mit Widgets – und ein Workaround

Android 17: Probleme mit Widgets – und ein Workaround: Android 17: Probleme mit Widgets – und ein Workaround Wie manchmal bei großen Sprüngen schleichen sich Fehler ein. So melden Leser und Betroffene im Netz jetzt verschwundene Widgets auf dem...
User-Neuigkeiten 20. Juni 2026

Disney+: Weiterhin Format-Probleme wegen fehlender Lizenzen

Disney+: Weiterhin Format-Probleme wegen fehlender Lizenzen: Disney+: Weiterhin Format-Probleme wegen fehlender Lizenzen Unsere Leser berichteten uns Ende letzten Jahres davon, dass bei Disney+ Dolby Vision flöten ging. Stellte sich heraus:...
User-Neuigkeiten 17. Juni 2026

Mozilla Firefox 151.0.2: Kleines Wartungsupdate behebt Split View und Cache Probleme

Mozilla Firefox 151.0.2: Kleines Wartungsupdate behebt Split View und Cache Probleme: Mozilla Firefox 151.0.2: Kleines Wartungsupdate behebt Split View und Cache Probleme Ein Blick in das Changelog zeigt, dass es sich um eine reine Fehlerbehebung handelt, bei der vor allem...
User-Neuigkeiten 26. Mai 2026

Vodafone kämpft weiterhin mit Problemen beim Mail-Abruf via IMAP

Vodafone kämpft weiterhin mit Problemen beim Mail-Abruf via IMAP: Vodafone kämpft weiterhin mit Problemen beim Mail-Abruf via IMAP Seit Anfang der letzten Woche zickt der Abruf über das IMAP-Protokoll bei etlichen Nutzern rum. Die Server sind schlicht...
User-Neuigkeiten 14. Mai 2026

Microsoft Outlook mit Problemen beim Login

Microsoft Outlook mit Problemen beim Login: Microsoft Outlook mit Problemen beim Login Aktuell häufen sich die Meldungen über Störungen bei Microsoft Outlook. Seit kurz vor 10:00 Uhr verzeichnen Störungsportale einen sprunghaften Anstieg...
User-Neuigkeiten 27. April 2026

Paramount+ zickt rum: Nutzer melden Probleme beim Streaming

Paramount+ zickt rum: Nutzer melden Probleme beim Streaming: Paramount+ zickt rum: Nutzer melden Probleme beim Streaming Aktuellen Berichten zufolge hakt es beim Streaming-Dienst gewaltig. Seit dem Abend des 26. Paramount+ zickt rum: Nutzer melden...
User-Neuigkeiten 26. April 2026

Ikea Dirigera: Update behebt Thread-Probleme

Ikea Dirigera: Update behebt Thread-Probleme: Ikea Dirigera: Update behebt Thread-Probleme Die Aktualisierung kümmert sich um die Stabilität im Smart Home und merzt einen Fehler bei der IPv6-Routung innerhalb von Thread-Netzwerken aus. Das...
User-Neuigkeiten 24. April 2026

Hue Bridge Pro: Update gegen Matter-Probleme

Hue Bridge Pro: Update gegen Matter-Probleme: Hue Bridge Pro: Update gegen Matter-Probleme Die neue Softwareversion hört auf 1976154040, bzw. 2071294010 und wird ab jetzt schrittweise ausgerollt. Hue Bridge Pro: Update gegen Matter-Probleme
User-Neuigkeiten 9. April 2026
Probleme bei if Abfrage in Perl Script solved

Andere User suchten nach Lösung und weiteren Infos nach:

  1. problem anweisung bei perl

    ,
  2. if abfrage perl

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden