if (var1<var2<var3)

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

  • if (var1<var2<var3)

    Hi,
    ich wollte das Tutorial Verschlüsselungslogarithmus umbauen.
    Und wollte das der ASCII-Wert je nach Position des Buchstaben
    verändert wird.
    Eine Methode dir mir sinnvol erschien war diese:
    PHP-Code:
    $laenge strlen($codiertext);
    while(
    $n $laenge) {
      
    $t $laenge/$n;
      if (
    $t<($laenge*0.25)) {
        
    $w = -8;
      } else if ((
    $laenge*0.25)<$t && $t<($laenge*0.5)) {
        
    $w 3;
      } else if ((
    $laenge*0.5)<$t && $t<($laenge*0.75)) {
        
    $w = -21;
      } else if ((
    $laenge*0.75)<$t && $t<$laenge) {
        
    $w 17;
      }
      echo 
    chr(ord(substr($text,$n,1))+$w);
      
    $n++;

    oder statt && ein and.
    Eine andere war die wie ganz normale Mathematik.
    PHP-Code:
    if (($laenge*0.25)<$t<$($laenge*0.5)) { 
    Aber beim zweiten hat er nur parse error angezeigt
    und beim ersten werden die Buchstaben nicht ausgegeben.
    Hoffe das mir jemand hilft.
    MfG
    Daniel
    ====================
    ||http://daniel.hguenther.de||
    ====================

  • #2
    so gibt es beim zweiten keinen parse error mehr.

    PHP-Code:
    if (($laenge*0.25)<$t && $t<($laenge*0.5)) { 
    hoffe, dass es hilft...

    EDIT:
    ein zuviel kopiertes $ entfernt
    Zuletzt geändert von Abraxax; 19.05.2003, 17:34.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Danke erst mal für die Antwort aber es gibt trotzdem noch einen parse error.
      Ich hatte mich nur verschrieben.
      PHP-Code:
      else if (($laenge*0.25)<$t<($laenge*0.5)) { 
      das war gemeint sry
      MfG
      Daniel
      ====================
      ||http://daniel.hguenther.de||
      ====================

      Kommentar


      • #4
        PHP-Code:
        else if (($laenge*0.25)<$t && $t<($laenge*0.5)) { 
        hast du es so versucht?
        Für Rechtschreibfehler übernehme ich keine Haftung!

        Kommentar


        • #5
          Ja so hab ichs schon probiert aber er hat nichts ausgegeben.
          Vielleicht liegts auch an der Umwandlung von Zeichen in Code oder zurück!?
          Ich bin noch recht neu im Geschäft was PHP angeht.
          MfG
          Daniel
          ====================
          ||http://daniel.hguenther.de||
          ====================

          Kommentar


          • #6
            in welcher Zeile kommt der Error?
            Für Rechtschreibfehler übernehme ich keine Haftung!

            Kommentar


            • #7
              und welcher error?
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #8
                Bei dem hier
                PHP-Code:
                $laenge strlen($codiertext);
                while(
                $n $laenge) {
                  
                $t $laenge/$n;
                  if (
                $t<($laenge*0.25)) {
                    
                $w = -8;
                  } else if ((
                $laenge*0.25)<$t && $t<($laenge*0.5)) {
                    
                $w 3;
                  } else if ((
                $laenge*0.5)<$t && $t<($laenge*0.75)) {
                    
                $w = -21;
                  } else if ((
                $laenge*0.75)<$t && $t<$laenge) {
                    
                $w 17;
                  }
                  echo 
                chr(ord(substr($text,$n,1))+$w);
                  
                $n++;

                kommt überhaupt kein Error. Da wird nur nix angezeigt.
                Und bei dem hier
                PHP-Code:
                if (($laenge*0.25)<$t<$($laenge*0.5)) { 
                immer in der Zeile in der diese Kombination auftritt dieser Fehler.
                Parse error: parse error in /raid/domains/de/h/hguenther/htdocs/phptest/verschl2.php on line 16
                Ihr könnt es euch auch ma ansehen bei
                http://phptest.hguenther.de
                MfG
                Daniel
                ====================
                ||http://daniel.hguenther.de||
                ====================

                Kommentar


                • #9
                  mache doch mal so.

                  PHP-Code:
                  if (($laenge*0.25)<$t && $t<($laenge*0.5)) { 
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Ich habs jetzt so weit das er verschlüsselt und entschlüsselt.
                    Aber ich hab gemerkt, dass wenn ma zum Verschlüsseln eingibt:
                    Voll der Codierungscode!
                    Dann wird aus allen d's ein dd.
                    Hier nochmal die kompletten scripts.
                    PHP-Code:
                    <html>
                    <head>
                    <title>Entschlüsseln</title>
                    <meta name="author" content="Guenther, Daniel">
                    <meta name="generator" content="Ulli Meybohms HTML EDITOR">
                    </head>
                    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
                    <font size="+4" color="#0000FF"><center>Entschlüsselung</center></font>

                    <br>
                    Zum entschlüsseln Text in das Textfeld kopieren.<br>
                    <form action="entschl2.php" method=POST>
                    <textarea name="entcodiertext" rows="10" cols="50">
                    <?
                    $ctext = $_POST["codiertext"];
                    $laenge = strlen($ctext);
                    while($n < $laenge) {
                      $t = $laenge/$n;
                      if ($t<($laenge*0.25)) {
                        $w = -8;
                      } else if (($laenge*0.25)<$t) {
                        if ($t<($laenge*0.5)) {
                          $w = 3;
                        } else if ($t>($laenge*0.5)) {
                          if ($t<($laenge*0.75)) {
                            $w = -21;
                          } else if ($t>($laenge*0.75)) {
                            $w = 17;
                          }
                        }
                      }
                      echo chr(ord(substr($ctext,$n,1))+$w);
                      $n++;
                    }
                    ?>
                    </textarea><br>
                    <input type=submit value="Entschlüsseln"></input><input type=reset value="Löschen"></input>
                    </form>
                    </body>
                    </html>


                    und zur Entschlüsselung


                    <html>
                    <head>
                    <title>Entschlüsselt</title>
                    <meta name="author" content="Guenther, Daniel">
                    <meta name="generator" content="Ulli Meybohms HTML EDITOR">
                    </head>
                    <body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
                    Hier steht ihr verschlüsselter und wieder Entschlüsselter Text:<br>
                    <?
                    $ectext = $_POST["entcodiertext"];
                    $laenge = strlen($ectext);
                    while($n < $laenge) {
                      $t = $laenge/$n;
                      if ($t<($laenge*0.25)) {
                        $w = 8;
                      } else if (($laenge*0.25)<$t) {
                        if ($t<($laenge*0.5)) {
                          $w = -3;
                        } else if ($t>($laenge*0.5)) {
                          if ($t<($laenge*0.75)) {
                            $w = 21;
                          } else if ($t>($laenge*0.75)) {
                            $w = -17;
                          }
                        }
                      }
                      echo chr(ord(substr($ectext,$n,1))+$w);
                      $n++;
                    }
                    ?>
                    <br>
                    Wieder zurück zur <a href="index.htm">Startseite</a>
                    </body>
                    </html>
                    Anschauen geht unter
                    http://phptest.hguenther.de/verschl2.htm
                    Hoffe, dass auch das Problem gelöst wird!
                    MfG
                    Daniel
                    ====================
                    ||http://daniel.hguenther.de||
                    ====================

                    Kommentar


                    • #11
                      Original geschrieben von Dan||Gu
                      Aber ich hab gemerkt, dass wenn ma zum Verschlüsseln eingibt:
                      Voll der Codierungscode!
                      Dann wird aus allen d's ein dd.
                      ich vermute mal, dass das irgendwie damit zusammenhängt, dass bei deinem algorithmus beim kodieren die "d"s in backslashes umgewandelt werden.

                      den backslash benutzt man normalerweise zum maskieren von sonderzeichen, z.b. stellt \n innerhalb eines strings nur ein zeichen dar, und keine zwei einzelnen.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Ja danke für den Tipp hab noch ma nachgeguckt. Gibts ne (möglichst einfache) Methode das zu vermeiden. Oder sollte ich kleinen d's ein Extrazeichen zuweisen, dass im Normalfall nicht erreicht wird!?
                        P.S. wenn man am Anfang "dies ist" schreibt, dann kommt beim Entschlüsseln das raus: "dKiss+ist".Hat das auch was damit zu tun?
                        Bin noch totaler Newbie.
                        MfG
                        Daniel
                        ====================
                        ||http://daniel.hguenther.de||
                        ====================

                        Kommentar


                        • #13
                          Du hast nirgends den Fall berücksichtigt, dass $laenge/4 ein Vielfaches von $t ist. Mach mal aus den "<" jeweils ein "<=".
                          mein Sport: mein Frühstück: meine Arbeit:

                          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                          Kommentar

                          Lädt...
                          X