php POST

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

php POST

Postby Acuba » 08. August 2012 19:32

Ich habe ein kleines Beispielscript für dynamische Formulare. Beim Testen auf dem neu installierten localhost fiel mir auf, dass der Submit nicht ordnungsgemäß funktioniert. Auf dem eigenen Webserver eines großen Serveranbieters funktionieren die Scripte ohne Probleme.
Sobald ich auf dem localhost auf Submit klicke, bekomme ich die Fehlerseite 404 (Objekt nicht gefunden). Was wahrscheinlich daran liegt, dass die URL sich aus irgendeinem Grund verändert hierzu hat: http://localhost/<br /> <b>Notice</b>: Undefined variable: PHP_SELF in <b>C:\xampp\htdocs\dynamischeformulare.php</b> on line <b>3</b> <br />

Ich vermute es liegt an einer Einstellung. Ich weiß aber nicht welche.

Das kleine Testscript:
Code: Select all
<html>
<body>
<form name="form1" method="post" action="<?php echo $PHP_SELF ?>">
  <p>
  <?php
    $themen = array("Bla1","Bla2","Bla3","Bla4");
  ?>
    <select name="thema[]" size="4" multiple>
  <?php
   foreach ($themen as $element) {
      echo "<option value=$element>$element</option>";
   }
  ?>
    </select>
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>

<?php
   if ($_POST['thema']) {
      echo "Es sind folgende Themen enthalten:<br>";
      foreach($_POST['thema'] as $element) {
         echo "$element<br>";
      }
   }
?>
</body>
</html>
Acuba
 
Posts: 1
Joined: 08. August 2012 19:11
Operating System: Windows 7

Re: php POST

Postby Altrea » 08. August 2012 20:58

Hallo Acuba (es ist immer Zeit für eine kurze Begrüßungszeile, besonders wenn du in einem Community-Board um Hilfe bottest. Es ist eine Frage der Höflichkeit),

Acuba wrote:<b>Notice</b>: Undefined variable: PHP_SELF in <b>C:\xampp\htdocs\dynamischeformulare.php</b> on line <b>3</b> <br />

Das sagt doch schon alles. $PHP_SELF existiert nichtmehr, das ist veraltete Syntax. Stattdessen gibt es jetzt $_SERVER['PHP_SELF'].
Beachte weiterhin, dass die Variable $_SERVER['PHP_SELF'] prinzipiell von außen beeinflussbar ist und somit Ansatzpunkte für Schwachstellen, besonders XSS bietet.
Verwende $_SERVER['PHP_SELF'] am besten nur mit htmlspecialchars() oder htmlentities() (mit der ENT_QUOTES option)

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 53 guests