$_SESSION nicht vorhanden?

Hier werden Probleme rund um das Zahlen Captcha behandelt

Moderator: frameguard

$_SESSION nicht vorhanden?

Beitragvon GeorgV » 03.03.2007, 09:19

Ich habe jetzt das Forum schon einige Stunden durchsucht und auch meine Scripte schon auf das Wesentliche reduziert, aber anscheinend wird das Array $_SESSION nicht an das zweite Script übergeben. Der Browser läßt Cookies zu. Es läuft ein XAMPP V 1.5.3a mit PHP 4.4.2-pl1.

Mit Dank und Grüßen Georg V.

gbook_formular.htm
Code: Alles auswählen
<?php session_start(); ?>
<!--
  ACHTUNG WICHTIG: Der Sessionstart muss zwingend vor der
   ersten Aussage auf dem Browser erfolgen!
-->
<html><head></head><body>

<center>
<form action="gbook_pruefung.php" method="POST">
   <table>
    <tr>
     <td align="right" valign="top"><font size=-2><strong>Beitrag</strong></font>&nbsp;&nbsp;</td>
     <td ><textarea name="Text" rows="10" cols="35"></textarea></td>
    </tr>
      <tr>
    <!-- /* Ergänzung Captcha Start */ -->
        <td><img src="../captcha/captcha.php" border="0" title="Sicherheitscode"></td>
      <td><input type="text" name="sicherheitscode" size="4"></td>
    </tr>
    <!-- /* Ergänzung Captcha Ende */ -->
    <tr>
      <td></td>
      <td colspan=4><input type="submit" name="senden" value="Beitrag eintragen"></td>
    </tr>
  </table>
</form>
<?php print_r ($_SESSION); ?>
<a href="gastebuch.php">Eingabe abbrechen</a><br>
</center>
</body></html>


gbook_pruefung.php
Code: Alles auswählen
<html><head></head><body>
<?php /* Ergänzung Captcha Start */
function encrypt($string, $key) {
  $result = '';
  for($i=0; $i<strlen($string); $i++) {
    $char = substr($string, $i, 1);
    $keychar = substr($key, ($i % strlen($key))-1, 1);
    $char = chr(ord($char)+ord($keychar));
    $result.=$char;
  }
  return base64_encode($result);
}
?> <!-- /* Ergänzung Captcha Ende */ -->

<?php
  $error=0;
  $Text     = $_POST["Text"];
  /* Ergänzung Captcha Start */
  $sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "8h384ls94");
  $sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
  if($sicherheits_eingabe <> $_SESSION['captcha_spam'] AND is_numeric($_POST["sicherheitscode"]) == true AND $sicherheits_eingabe == true){
      // Sicherheitscode nicht identisch
      $error=1;
  };
   if(!isset($_SESSION['captcha_spam'])) {
    $error=2;
  }
  unset($_SESSION['captcha_spam']);
  /* Ergänzung Captcha Ende */
  if ($error>0)
  { // Ein Fehler wurde gefunden ...
    switch ($error) {
      case 1:
             $Message="Der Sicherheitscode wurde nicht oder falsch eingegeben.";
             break;
      case 2:
             $Message="Ihr Browser läßt keine Cookies zu.";
             break;
      default:
             $Message="Diese Meldung sollte nicht erscheinen :-(";
             break;
      }
      echo "<form action='gbook.php' method='POST' >";
      echo "<p>" . $Message . "</p>";
      echo "<p>Ihr Eintrag wird <b>nicht</b> gespeichert!</p>";
      echo "<input type='submit' name='senden' value='zur&uuml;ck zum G&auml;stebuch'>";
      echo "</form>";
  } else { // Der Eintrag kann erfolgen, da ohne Fehler
      echo "Es wird jetzt eine SQL-Statement abgeschickt...";
  }
?>
</body></html>
GeorgV
 
Beiträge: 1
Registriert: 03.03.2007, 09:09

Zurück zu Zahlen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron