AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] $HTTP_SERVER_VARS nicht gefunden
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] $HTTP_SERVER_VARS nicht gefunden

Ein Thema von MrSpock · begonnen am 26. Apr 2008 · letzter Beitrag vom 26. Apr 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#1

[PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 14:14
Hallo PHP Spezialisten,

im Gästebuch meiner Homepage greife ich in PHP auf den Array HTTP_SERVER_VARS zu. Das hat bisher auch problemlos funktioniert, aber jetzt bekomme ich die Fehlermeldung:

Zitat:
Notice: Undefined variable: HTTP_SERVER_VARS in ...
Hat jemand eine Idee, woher das kommen kann?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 14:17
Unterschiedliche PHP-Version vlt.? Mal $_SERVER probiert?
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 14:37
Ja, je nach PHP-Konfiguration könnte es sein, dass die alten, "langen" Array-Namen nicht mehr unterstützt werden. Aus $HTTP_POST_VARS wurde $_POST, aus $HTTP_GET_VARS wurde $_GET und bei den Server-Vars ist es nicht anders. Du kannst diese Einstellung ermitteln, indem Du Dir mal phpinfo() anzeigen lässt und dort im Abschnitt "Configuration" nach "register_long_arrays" schaust.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 14:46
Hatte da mal was gelesen (wenn ich mich jetzt nicht arg täusche), dass $HTTP_X_VARS eh als deprecated galten und bald rausfliegen sollten. Vielleicht hat dein Host ja die PHP-Version aktualisiert, wo das eben der Fall ist.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 15:29
Hallo,

danke erstmal, das hat mir schon weitergeholfen. Ich habe jetzt $HTTP_SERVER_VARS durch $_SERVER ersetzt und das funktioniert. Zusätzlich kann ich aber auch nicht mehr auf die Formularvariablen zugreifen. So kennt der PHP Parser offensichtlich $name, $submit und ähnliches nicht mehr. Ich habe dazu gelesen, dass man, wiederum abhängig von den Einstellungen in der php.ini nicht direkt auf die Variablen zugreifen kann, und stattdessen mit (in der Kurzform) $_GET darauf zugreifen soll.

$_GET["name"] funktioniert aber nicht. Der Parser kennt den Index "name" nicht.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 15:35

Hui, das heißt, bei Deiner bisherigen PHP-Installation war das Flag "register_globals" auf 'on' gesetzt? Das gilt als großes Sicherheitsrisiko und wurde in neueren PHP-Installationen per Standard deaktiviert.

Deine Formulardaten kommen vermutlich via HTTP-POST, das heißt, Du wirst Deine Daten wohl unter $_POST['name'] finden. Sollte es Dir egal sein, ob POST oder GET, dann kannst Du auch einfach $_REQUEST nehmen, da ist alles drin (... wie in Opas alter Cordhose *g*).

Wenn ich eine Variable suche, dann lasse ich mir die Daten gern mit

Code:
echo "<pre>", print_r($_POST), "</pre>";
ausgeben. Irgendwo finden sie sich dann immer wieder an.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
BenjaminH

Registriert seit: 14. Okt 2004
Ort: Freiburg im Breisgau
713 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 15:36
Wenn die Daten per Post übetragen werden, muss es
Code:
$_POST["name"]
heißen
alternativ funktioniert sowohl für per POST als auch per GET übertragene Variablen
Code:
$_REQUEST["name"]
Benjamin
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 15:36
Übergibst Du auch mit get oder vielleicht doch mit post?

[edit] Mist, zu langsam [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 16:14
Hhhm. Also ich übergebe die Daten mit POST.

ABER das Script ist so aufgebaut, dass zunächst die PHP Routinen kommen, die das Formular auswerten.

Dann kommt das Formular. Also etwa so:

Code:
<?php
$fehler= 0;
echo "<pre>", print_r($_REQUEST), "</pre>";
$fehlermeldungStart = '<table width="600" border="0" bgcolor="#000000" cellpadding="5" cellspacing="1" align="center">'."\n";
$fehlermeldung = "<tr>\n<td bgcolor=\"#227CAC\" colspan=\"2\" align=\"center\"><span class=\"header\">Oooops! Es traten Fehler auf!</span></td>\n</tr>\n";
$fehlermeldungEnde = "<tr>\n<td bgcolor=\"#227CAC\" colspan=\"2\" align=\"center\">Klicke bitte auf <a href=\"javascript:history.back()\">Zur&uuml;ck</a> und &auml;ndere Deine Angaben!</td>\n</tr>\n";
$fehlermeldungEnde .= "</table>\n";
if($_REQUEST["name"] == "") {
   $fehler = 1;
   $fehlermeldung .= "<tr>\n<td width=\"190\" bgcolor=\"#227CAC\">Dein Name:</td>\n";
   $fehlermeldung .= "<td width=\"410\" bgcolor=\"#dedede\"><span class=\"fehler\">Du hast noch keinen Namen eingegeben!</span></td>\n</tr>\n";
}
...
Das print_r habe ich mal wie von Daniel empfohlen eingefügt und es gibt mir einen leeren Array zurück. Ist ja uch irgendwie klar, weil das Formular ja noch gar nicht erstellt wurde..

Denn erst danach kommt:

Code:
<?php
if(!$_REQUEST["submit"]) {
?>

<form action="eintragen.php" method="post">
<table width="700" border="0" bgcolor="#000000" cellpadding="5" cellspacing="1" align="center">
   <tr>
...
vorher hieß es nur

if (!$submit)

aber die Variable findet er auch nicht.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#10

Re: [PHP] $HTTP_SERVER_VARS nicht gefunden

  Alt 26. Apr 2008, 16:17
Lass dir doch mal $_REQUEST ausgeben.
Code:
echo "<pre>"; print_r ($_REQUEST); echo "</pre>";
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz