• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Text verschlüsseln

Status
Für weitere Antworten geschlossen.

digga

Mitglied
Hi!!
Ich habe versucht das hier nachzustellen:
Net-Force | Tools

Mein Code:
PHP:
<form name="auswahl">
<INPUT TYPE=Radio NAME="encode" checked value="encode"> Verschlüsseln<br>
<INPUT TYPE=Radio NAME="decode" value="decode"> Entschlüsseln
</form>
<form action="".$_SERVER['PHP_SELF']."" method="post">
<textarea name="insert" style="width:450px; height:300px;">
</textarea><br><br>
<input type="submit" value="Start"> <input type="reset" value="Leeren">
</form>
<?php
if($auswahl == "encode")
{
$befehl = "<?php echo base64_encode(\"$insert\"); ?>";
}
elseif($auswahl == "decode")
{
$befehl = "<?php echo base64_decode(\"$insert\"); ?>";
}
?>

<br><br>
<textarea style="width:450px; height:150px;">
<?php echo $befehl; ?>

Irgendwie wird nichts ausgegeben (siehe: http://00webart.00.funpic.de/test2.php )

Außerdem möchte ich gerne, dass oben in der Textbox die Eingabe vorhanden bleibt, auch wenn man auf den Button geklickt hat!

Schafffe das aber nicht, habe jetzt seit ein paar Monaten nicht mehr programmiert weil ich viel mit der Schule beschäfftigt war, deshalb ist mein PHP sehr eingerostet!
 
Hier der Quelltext, wie er richtig fuktioniert.
Schau ihn dir einfach an, dann siehst du glaube ich selbst, was du falsch gemacht hast.


PHP:
<?php
 $datei = $_SERVER['PHP_SELF'];
 $action = "$datei?sub=1";
?>

<form action="<?php echo $action; ?>" method="post">
 <input type="Radio" name="dir" checked value="encode" /> Verschl&uuml;sseln
 <br />
 <input type="Radio" name="dir"  value="decode" /> Entschl&uuml;sseln
 <br />
 <br />
 <textarea name="insert" style="width:450px; height:300px;"></textarea>
 <br />
 <br />
 <input type="submit" value="Start" />&nbsp;<input type="reset" value="Leeren" />
</form>

<?php
 if($_GET[sub]==1){
  if($_POST[dir]=="encode"){
   $text = base64_encode($_POST[insert]);
  }else{
   $text = base64_decode($_POST[insert]);
  }
 }
?>

<br />
<br />
<form action="">
 <textarea style="width:450px; height:150px;"><?php echo $text; ?></textarea>
</form>


Edit: Wobei "Verschlüsseln" und "Entschlüsseln" noch in Tags sollten (z.B. <span>)
 
Sorry, aber da muss ich echt nocheinmal zwischengehen. Ich hasse es, wenn falscher Code im Raum steht!

PHP:
<?php
if($_GET[sub]==1){
  if($_POST[dir]=="encode"){
   $text = base64_encode($_POST[insert]);
  }else{
   $text = base64_decode($_POST[insert]);
  }
}
?>

Bitte ändern zu
PHP:
<?php
if($_GET["sub"]==1){
  if($_POST["dir"]=="encode"){
   $text = base64_encode($_POST["insert"]);
  }else{
   $text = base64_decode($_POST["insert"]);
  }
}
?>
 
Sry, die Anführungszeichen habe ich in meinem Eifer vergessen. Aber es hat bei mir auf dem Server trotzdem funktioniert.

Also nochmals sorry!
 
Ist ja nicht weiter schlimm ;)

Das es bei dir Funktioniert kann durchaus sein.
Jenachdem welche PHP Version du unterstützt kann es sich da unterscheiden.
Das Problem, wenn man es ohne Anführungszeichen macht, ist, dass ein Großteil der Server das dann als (nicht definierte) Konstante ansieht.

Wenn du bei dir ein
PHP:
error_reporting(E_ALL|E_STRICT);
einbaust, wird auch dein Server meckern :)
 
Vielen Dank für den Code!!
Ich bin ihn durchgegangen und habe jetzt auch wieder was dazu gelernt :)

Wie bekomme ich es jetzt noch hin, dass der Text, den ich eingegeben habe auch oben in der Textbox vorhanden bleibt, nachdem auf den Submit-Button geklickt wurde??
 
Das ist eigentlich ziemlich einfach. Du musst einfach nur den Code vom 1. Textfeld wie folgt ändern

HTML:
<textarea name="insert" style="width:450px; height:300px;"><?=$_POST['insert']?></textarea>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben