Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Problem mit globaler SERVER Variablen - PHP SELF - Datei nicht gefunden

Frage Entwicklung PHP

Mitglied: ChristophD

ChristophD (Level 1) - Jetzt verbinden

02.05.2011 um 15:07 Uhr, 5472 Aufrufe, 6 Kommentare

Halle Freunde,
Es handelt sich bei meinem Beispiel um ein anscheinend veraltetes Skript aus einem Buch, welches ich meinen Bedürfnissen angepasst habe. (Eine Dateneingabemaske für einen Gästebucheintrag) Die eingegebenen Werte sollen nun als Variablen zur Weiterverarbeitung genutzt werden können indem ich via $_POST['name des Formularfeldes'] darauf zugreife.

Mein Code sieht so aus : (BITTE NICHT AUF XSS-Problematik hinweisen! Code ist vereinfacht dargestellt.)

01.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
02.
<html> 
03.
<head> 
04.
<title></title> 
05.
</head> 
06.
<body align="center">
01.
<?php 
02.
if (!$_POST['GB_entry_sending'] && !$_POST['name']) { 
03.
 
04.
?>
01.
<style type="text/css"> 
02.
#GB            { position:relative; margin-top:10px; background:url(http://localhost/GB_entrymask1.jpg)no-repeat center; height:400px; width:500px;} 
03.
#GB .name      { position:relative; margin-top:50px; margin-right:70px; } 
04.
#GB .company   { position:relative; margin-top:15px; margin-right:70px; } 
05.
#GB .email     { position:relative; margin-top:15px; margin-right:70px; } 
06.
#GB .title     { position:relative; margin-top:40px; margin-right:70px; } 
07.
#GB .homepage  { position:relative; margin-top:10px; margin-left:190px; } 
08.
#GB .message   { position:relative; margin-top:15px; } 
09.
#GB .submit    { } 
10.
#GB .reset     { } 
11.
</style> 
12.
 
13.
<form method="POST" action="
01.
<?php echo $PHP_SELF ?>
01.
"> 
02.
<div id="GB" align="center"> 
03.
  <input class="name" type="text" name="GB_entry_name" value="" size="35"><br> 
04.
  <input class="company" type="text" name="GB_entry_company" value="" size="35"><br> 
05.
 
06.
  <input class="email" type="text" name="GB_entry_email" value="" size="35"><br> 
07.
  <input class="title" type="text" name="GB_entry_title" value="" size="35"><br> 
08.
  <textarea class="message" name="GB_entry_message" value="" rows="7" cols="56"></textarea><br> 
09.
  <input class="homepage" type="text" name="GB_entry_homepage" value="" size="35"><br> 
10.
  <input class="submit" type="submit" name="GB_entry_submit" value="Send" size="15"> 
11.
  <input class="reset" type="reset" name="GB_entry_reset" value="Reset" size="15"> 
12.
  <input type="hidden" name="GB_entry_sending" value="1"> 
13.
</div> 
14.
</form>
01.
<?php 
02.
} else
03.
echo "Dein Gästebucheintrag wurde erstellt."
04.
05.
?>
01.
</body> 
02.
 
03.
</html>
Mein erwüschtes Ergebnis sollte sein das die eingegebenen Formulardaten nun mit Aufrufen wie diesem als Variablen erreichbar sind:
01.
... 
02.
echo "$_POST['name'] hat einen Beitrag geschrieben."
03.
...


Mein Problem:
Nach Eingabe der Daten und drücken von SUBMIT, erhalte ich eine Fehlermeldung vom Browser:
FEHLER: Datei nicht gefunden.
Die Dateien unter /C:wamp/www/<?php echo $PHP_SELF ?> konnten nicht gefunden werden.

+) Bitte überprüfen Sie die Addresse auf Rechtschreib.... und andere Fehler.
+) Bitte überprüfen Sie ob die Adresse umbenannt, gelöscht oder verschoben wurde.

Erwarten würde ich nach Drücken von Submit aber die Meldung "Dein gB-Eintrag wurde erstellt."



Folgende Einstellungen habe ich bisher verändert (und ebenfalls den Code entsprechend verändert):
PHP-Einstellung safe_mode="off" - keine Veränderung bei der Umstellung von $SERVER['PHP_SELF'] auf $PHP_SELF
short_tag_handle="on" - keine Veränderung bei den PHP Aufrufen von <?php zu <?



Als Hobbyprogrammierer hoffe ich, ich habe mein Problem klar dargestellt und jemand hat die passende Lösung "im Nähkästchen"
Danke schon im Voraus.
Mitglied: Guenni
02.05.2011 um 16:39 Uhr
Hi ChristophD,

eine Anweisung mit ; abschließen:

01.
<?php 
02.
 
03.
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"
04.
 
05.
?>
Und lass dir mal den Quelltext anzeigen, ob nach "action" der Scriptname da steht.

Gruß
Günni
Bitte warten ..
Mitglied: ChristophD
02.05.2011 um 17:00 Uhr
Hallo Günni.
Im Quelltext steht vor und nach drücken von Submit KEIN Scriptname da sondern $_SERVER['PHP_SELF']... exakt so wie es im Original der Datei steht (davor) bzw. die Fehlermeldung (danach).

Das abschließende Semikolon habe ich hinzugefügt aber es hat das Problem auch nicht gelöst (steht übrigens auch im Buch ohne - Vl. gibt es dafür einen Grund... Wissende sind angesprochen ). Ebenfalls habe ich es mit
01.
<form action='<?php echo "($_SERVER[PHP_SELF])"; ?>' method="post">

und
01.
...$action="$_SERVER['PHP_SELF']";
01.
<form action='<?php echo "$action"; ?>' method="post">
versucht. ebenfalls kein Erfolg.
Bitte warten ..
Mitglied: Guenni
02.05.2011 um 17:44 Uhr
Hi Christoph,

wenn im Quelltext $_SERVER['PHP_SELF'] steht, dann wird das Script auch nicht von PHP verarbeitet. Mögliche Fehler:

- falsche Dateiendung, die muß .php sein
- es läuft kein PHP
- es läuft kein Webserver

Gruß
Günni
Bitte warten ..
Mitglied: ChristophD
02.05.2011 um 20:39 Uhr
Hallo Günni,
Danke für den Hinweis. Der Code war ständig einwandfrei, es lag daran das mein Editor die Datei nicht über den Webserver angesprochen hat sondern direkt im Browser übersetzt hat.

Ich glaub ohne Dich wär ich bald verzweifelt auf einer Brücke gestanden Aber es is ja jetz alles gut... Danke dir.
Bitte warten ..
Mitglied: dog
02.05.2011 um 22:37 Uhr
eine Anweisung mit ; abschließen:

Die letzte Anweisung in einem <?php-Block braucht kein Semikolon.
Bitte warten ..
Mitglied: Guenni
04.05.2011 um 09:38 Uhr
Hi dog,

eine Anweisung mit ; abschließen:
Die letzte Anweisung in einem <?php-Block braucht kein Semikolon.

Ja, das ist richtig. In einem reinen PHP-Script ist auch kein abschließendes ?> nötig.

Aber wenn das Semikolon fehlt ist es doch nötig.

Und so weiter . . .

Warum schlafende Hunde wecken?

Gruß
Günni
Bitte warten ..
Ähnliche Inhalte
Windows Server
Benutzerdefinierte Datei 404.php wird nicht gefunden.
gelöst Frage von JD20001Windows Server7 Kommentare

Hallo, ich habe ein kleines Problem auf einem Webserver 2008 R2 mit IIS7.5 ich habe eine benurtzerdefinierte Datei "404.php" ...

Entwicklung
Label Software mit globaler Variable
Frage von amayerEntwicklung2 Kommentare

Hallo, ich bin auf der Suche nach einer Software, mit der ich Labels gestalten kann. Ansich nichts besonderes, Bild, ...

PHP
PHP - Variable in anderes PHP-Skript mitgeben
gelöst Frage von Jens4everPHP3 Kommentare

Hi zusammen, könnt ihr mir kurz helfen? Ich habe folgendes vor: Ich möchte, dass beim Aufruf von "check1.php" eine ...

PHP
PHP Pfad nicht gefunden
gelöst Frage von miichiii9PHP5 Kommentare

Hallo Miteinander Ich möchte gerne einen Pfad im PHP öffnen. Dies wird wie folgt bewältigt: Mein Problem ist das ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 21 StundenViren und Trojaner1 Kommentar

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 4 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 5 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Windows 10
Probleme mit Dateien, deren Pfad + Dateiname länger als 256 Zeichen sind
Frage von FalaffelWindows 1011 Kommentare

Guten Tag, unter Windows 10 scheint es immer noch das Problem zu geben, dass der Pfad + Dateiname einer ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware10 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...

Microsoft Office
Outlook 2016 - Makro startet nicht über Knopf im Menüband
Frage von ZunarasMicrosoft Office9 Kommentare

Schönen guten Tag! ich brauche wieder einmal Hilfe. Ich möchte gerne von Office 2010 32bit auf 2016 64bit wechseln ...