#1 17. Juni 2007 Gartenzaun Verschlüsselungs Skript Hallo, also ich hab folgende aufgabe gekriegt: ich soll ein skript schreiben welches einen eingegebenen text durch versetzen der buchstaben "verschlüsselt", das ganze nennt sich gartenzaunmethode. ich bin auch schon fast fertig, hier mal der stand der dinge: Spoiler Code: <html> <head> <title> Gartenzaunmethode </title> </head> <body> <form action="neu1.php" method="POST"> <h1> Text hier eingeben!</h1> <input type="area" name="textf"> <br> <input type="submit" name="ok" value="Los"> </form> </body> </html> <?php if (isset($_POST['ok'])){ function gartenzaun1 ($text,$ida){ $kette=substr($text,$ida,1); return $kette; } function gartenzaun2 ($text,$idb){ $kette2=substr($text,$idb,1); return $kette2; } $text=$_POST['textf']; $ida=0; $idb=1; $lange = strlen ($text); while ($ida<=$lange){ $kette = gartenzaun1($text,$ida); $ida=$ida+2; echo $kette; } echo "<br>"; while ($idb<=$lange){ $kette2 = gartenzaun2($text,$idb); $idb=$idb+2; echo $kette2; } echo "<br>"; $kette3=$kette.$kette2; echo $kette; echo "<br>"; echo $kette2; echo "<br>"; echo $kette3; echo "<br>"; echo $lange; } ?> so mein problem ist jetz folgendes: sagen wir ich hab folgenden text: hallo du dann kommt folgendes raus: hlod <- $kette al u <- $kette2 das wird aber so nich gespeichert denn nach dem die schleife durch ist haben die variablen ja nur den letzten wert (in dem fall eben d und u) deswegen wollt ich die werte irgentwie alle irgentwo speichern ich dachte da an ein array (bzw. 2) hoffe ihr versteht mich und könnt mir helfen + Multi-Zitat Zitieren
#2 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript zB PHP: $kette2 [ $idb ] = gartenzaun ..... idb erhöhst du ja immer mit 2.. dann machste danach PHP: <? php echo $kette2 [ $idb ]; ?> und hast dann später alles im array noch?! EDIT: Man könnte es zum Beispiel so lösen: PHP: <? php$String = 'Hallo du! Wie geht es dir, mein Freund ?' ; function Gartenzaun ( $Str ) { $cnt = strlen ( $Str ); for( $i = 0 ; $i < $cnt ; $i ++) { if( $i % 2 != 0 ) $Arr1 [] = $Str { $i }; else $Arr2 [] = $Str { $i }; } return array( $Arr1 , $Arr2 );} function re_Gartenzaun ( $Array ) {if( count ( $Array ) < 2 ) { return 'Wrong input.' ;}else { $C1 = count ( $Array [ 1 ]); $C2 = count ( $Array [ 0 ]); for( $i = 0 ; $i < $C1 || $i < $C2 ; $i ++) { $Out .= $Array [ 1 ][ $i ]. $Array [ 0 ][ $i ]; } return $Out ; }} $GeGartent = Gartenzaun ( $String ); echo '<pre>' ; print_r ( $GeGartent );echo '</pre>' ; echo re_Gartenzaun ( $GeGartent ); ?> + Multi-Zitat Zitieren
#3 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript hmm ich versteh glaub ich was du meinst... hmm aber wie gebe ich dann das komplette array aus? kann ja nich 100x echo $kette [1]... hinschreiben + Multi-Zitat Zitieren
#4 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript Array ausgeben: PHP: <? php print_r ( $Array ); ?> + Multi-Zitat Zitieren
#5 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript jetz kommt das hier raus O.O Array Array ArrayArray 5 Array ( [ida] => o ) Spoiler Code: <html> <head> <title> Gartenzaunmethode </title> </head> <body> <form action="neu1.php" method="POST"> <h1> Text hier eingeben!</h1> <input type="area" name="textf"> <br> <input type="submit" name="ok" value="Los"> </form> </body> </html> <?php if (isset($_POST['ok'])){ function gartenzaun1 ($text,$ida){ $kette=substr($text,$ida,1); return $kette; } function gartenzaun2 ($text,$idb){ $kette2=substr($text,$idb,1); return $kette2; } $text=$_POST['textf']; $kette = array (); $kette2 = array (); $ida=0; $idb=1; $lange = strlen ($text); while ($ida<=$lange){ $kette[ida] = gartenzaun1($text,$ida); $ida = $ida+2; } echo "<br>"; while ($idb<=$lange){ $kette2[idb] = gartenzaun2($text,$idb); $idb = $idb+2; } echo "<br>"; $kette3=$kette.$kette2; echo $kette; echo "<br>"; echo $kette2; echo "<br>"; echo $kette3; echo "<br>"; echo $lange; echo "<br>"; print_r($kette); } ?> + Multi-Zitat Zitieren
#6 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript PHP: <? php if (( $text = $_POST [ 'textf' ]) != "" ) { $to = strlen ( $text ); $bg = array(); $bu = array(); $text = str_split ( $text ); for( $i = 0 ; $i < $to ; $i ++) { if(( $i % 2 ) != 0 ) $bu [] = $text [ $i ]; //$i ist ungerade else $bg [] = $text [ $i ]; //$i ist gerade } foreach( $bg AS $val ) echo $val . ", " ; echo "<br/>" ; foreach( $bu AS $val ) echo $val . ", " ;} ?> oder so: PHP: <? php if (( $text = $_POST [ 'textf' ]) != "" ) { $to = strlen ( $text ); $bg = array(); $bu = array(); for( $i = 0 ; $i < $to ; $i ++) { if(( $i % 2 ) != 0 ) $bu [] = substr ( $text , $i , 1 ); //$i ist ungerade else $bg [] = substr ( $text , $i , 1 ); //$i ist gerade } foreach( $bg AS $val ) echo $val . ", " ; echo "<br/>" ; foreach( $bu AS $val ) echo $val . ", " ;} ?> + Multi-Zitat Zitieren
#7 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript Ich find meine Funktionen schöner. + Multi-Zitat Zitieren
#8 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript oha krasse sache O.O danke werds ma versuchen so umzubauen das es den aufgabenstellungen entspricht und dann nochmal hier reinstellen + Multi-Zitat Zitieren
#9 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript aber meine is kürzer, geht schneller und is aus anfängersicht einfacher zu verstehen + Multi-Zitat Zitieren
#10 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript Und wo kann man bei dir Decrypten? + Multi-Zitat Zitieren
#11 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript @murdoc das problem ist nur ich muss es mit funktionen machen ^^ aber ich flick mir das schon zu recht, ist ne gute anregung danke + Multi-Zitat Zitieren
#12 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript PHP: <? php $to = strlen ( $text ); $str = "" ; $textC = round ( $to / 2 ); //wir ham ja gerade und ungerade $text = str_split ( $text , $textC ); // text = array([0] => "ungerade", [1] => "gerade") print_r ( $text ); //wie beim crypten fangwa mit den ungeraden wieder an for( $i = 0 ; $i < $to ; $i ++) $str .= $text [ 0 ][ $i ]. $text [ 1 ][ $i ]; echo $str ; ?> + Multi-Zitat Zitieren
#13 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript du bist ein krasser freak xD aber kann mir einer von euch sagen wie ich die beiden arrays zu einem mache und das dann ausgebe???? + Multi-Zitat Zitieren
#14 17. Juni 2007 AW: Gartenzaun Verschlüsselungs Skript PHP: <? php function Tcrypt ( $text ) { $to = strlen ( $text ); $srtA = "" ; $strB = "" ; for( $i = 0 ; $i < $to ; $i ++) { if(( $i % 2 ) != 0 ) $strB .= substr ( $text , $i , 1 ); else $strA .= substr ( $text , $i , 1 ); } return $strA . $strB ; } function Tdecrypt ( $text ) { $to = strlen ( $text ); $str = "" ; $textC = round ( $to / 2 ); $text = str_split ( $text , $textC ); for( $i = 0 ; $i < $to ; $i ++) $str .= $text [ 0 ][ $i ]. $text [ 1 ][ $i ]; return $str ; } ?> <html><head><title> Gartenzaunmethode</title></head><body> <?php if(( $text = $_POST [ 'textf' ]) != "" ) { echo "<h1>Dein ver/entschlüsselter Text ist:</h1>" ; if( $_POST [ 'crypt' ] == 1 ) echo Tcrypt ( $text ). "<br/>" ; else echo Tdecrypt ( $text ). "<br/>" ; } ?> <form action="index2.php" method="POST"> <h1> Text hier eingeben!</h1> <input type="area" name="textf" size="30" /> <input type="radio" name="crypt" value="1" /> [crypt] <input type="radio" name="crypt" value="0" /> [decrypt] <br/> <input type="submit" name="ok" value="Los" /></form> </body></html> obwohl hausaufgaben für andre machen eigendlich net mein ding is... + Multi-Zitat Zitieren