php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.07.2007, 02:30  
Erfahrener Benutzer
 
Registriert seit: 08.07.2005
Beiträge: 108
fadass
fadass eine Nachricht über ICQ schicken
Standard $_GET bei PHP Version 4.4.7

neues prob... musste neues xampp installieren weil ich formatiert hatte...
konnte nu das xampp was ich damals runtergeladen hab net mehr finden also hab ich das neuste installiert... dann geswitcht auf php 4.4.7 und bei meiner site ging garnix mehr...

PHP-Code:
if (isset($_GET[site]) && $_GET[site] != "news")
{
    
$invalid_chars = array('/''//'':''.');
    
$_GET[site] = str_replace($invalid_chars' '$site);
    include (
$_GET[site] . '.php');
}
else
    echo 
'Welcome to Admincenter.'
ausgabe war immer, egal ob "site" (in der URL) gesetzt war oda net,
'Welcome to Admincenter.'

habe nu ma nachgeguckt und per "print_r()" $_GET ausgeben lassen...
ergebnis:
Code:
Array ( [site] => )
mit $_REQUEST:
Code:
Array ( [site] => files )
geht das seit der version nur noch mit $_REQUEST bzw $HTTP_*_VARS ?
und noch ne frage... lohnt sich das überhaupt noch in php 4.X zu coden... oda mit php 5 anfangen??!?

danke im voraus
mfg
fadass ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.07.2007, 06:19  
pHleX
Gast
 
Beiträge: n/a
Standard Re: $_GET bei PHP Version 4.4.7

PHP-Code:
if ((isset($_GET[site]) && ($_GET[site] != "news"))
{
    
$invalid_chars = array('/''//'':''.');
    
$_GET[site] = str_replace($invalid_chars' '$site);
    include (
$_GET[site] . '.php');
}
else
{
    echo 
'Welcome to Admincenter.';



wenn das jetzt mega blödsinn ist nicht sauer sein ich hab 2 nächte durchgemacht
 
Alt 24.07.2007, 07:29  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

Ich bin vor ein paar Monaten auf PHP 5 umgestiegen. Allerdings notgedrungen, da ich OOP ausprobieren wollte. Dafür ist PHP 5 halt besser geeignet und ich kann von daher auch von keinen negativen Erfahrungen berichten...

Versuch mal:
PHP-Code:
if (isset($_GET['site']) && $_GET['site'] != "news")
{
    
$invalid_chars = array('/''//'':''.');
    
$_GET['site'] = str_replace($invalid_chars' '$site);
    include (
$_GET['site'] . '.php');
}
else
    echo 
'Welcome to Admincenter.'
Wobei das irgendwie auch nicht Hilft, wenn die Parameter gar nicht übergeben werden...

Ausserdem solltest du die superglobalen Variabeln nicht verändern, sprich die Werte nicht direkt im $_GET - Array modifizieren.
Igäl ist offline  
Alt 24.07.2007, 07:51  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Ohne das zugehörige Formular zu kennen, kann hier vermutlich keiner was sagen.
Vielleicht schickst Du die Daten ja mit POST?

Den Array-Index solltest Du aber auf jeden Fall in Anführungszeichen setzen. Das müssen Strings sein und keine (undefinierten) Konstanten.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 24.07.2007, 12:01  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard Re: $_GET bei PHP Version 4.4.7

Wenn $_GET leer, aber $_REQUEST voll ist, kann der Wert nur aus $_POST oder $_COOKIE stammen, denn
http://de3.php.net/manual/de/languag...predefined.php
Zitat:
$_REQUEST
Variablen, die dem Skript über die GET-, POST- und COOKIE-Eingabemechanismen geliefert werden und von daher nicht vertrauenswürdig sind. Die Präsenz und die Reihenfolge der Aufnahme der Variablen in dieses Array ist entsprechend der Konfigurationsanweisung variables_order definiert. Dieses Array hat in PHP vor Version 4.1.0 keine direkte Entsprechung.
http://de3.php.net/manual/de/reserve...iables.request

Zitat:
und noch ne frage... lohnt sich das überhaupt noch in php 4.X zu coden... oda mit php 5 anfangen??!?
http://de3.php.net/
Zitat:
PHP 4 end of life announcement
[13-Jul-2007]

Today it is exactly three years ago since PHP 5 has been released. In those three years it has seen many improvements over PHP 4. PHP 5 is fast, stable & production-ready and as PHP 6 is on the way, PHP 4 will be discontinued.

The PHP development team hereby announces that support for PHP 4 will continue until the end of this year only. After 2007-12-31 there will be no more releases of PHP 4.4. We will continue to make critical security fixes available on a case-by-case basis until 2008-08-08. Please use the rest of this year to make your application suitable to run on PHP 5.
Zergling-new ist offline  
Alt 24.07.2007, 15:13  
Erfahrener Benutzer
 
Registriert seit: 08.07.2005
Beiträge: 108
fadass
fadass eine Nachricht über ICQ schicken
Standard

ach man.. ich sag doch scheiss erkältung :/
'site' wird per url übertragen... also es gibt kein formular... sry, vergessn zu sagen ^^

//edit: das was oben gepostet wurde, hab ich scho ausprobiert^^
fadass ist offline  
Alt 24.07.2007, 15:53  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Unlogisch. Laß Dir einfach mal $GLOBALS per print_r oder var_dump ausgeben und guck, wo die Daten stehen. Möglichst am Anfang des Scripts. Aber im Prinzip sollte es schon $_GET sein. Und benutze fortan Anführungszeichen im Arrayschlüssel.
nikosch ist gerade online  
Alt 24.07.2007, 16:26  
Erfahrener Benutzer
 
Registriert seit: 16.08.2007
Beiträge: 702
PHP-Kenntnisse:
Anfänger
Igäl befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php if (isset($_GET[site]) && $_GET[site] != "news")
{
    
$invalid_chars = array('/''//'':''.');
    
$_GET[site] = str_replace($invalid_chars' '$site);
    include (
$_GET[site] . '.php');
}
else
    echo 
'Welcome to Admincenter.';
Was soll eigentlich dieses $_GET['site'] = str_replace($invalid_chars, '', $site);

Sofern register_globals auf off ist (was ich hoffe), ist $site gar nicht initialisiert... Wo hast du dir print_r ausgeben lassen? Wenns nach dem str_replace war ist klar, dass nichts drin war
Igäl ist offline  
Alt 24.07.2007, 17:00  
Erfahrener Benutzer
 
Registriert seit: 21.07.2005
Beiträge: 209
pepe24
Standard

Hallo fadass,

Hier solltest Du nochmals nachbessern...:
1. den request-arrays $_GET, $_POST,...etc. weist man keine Werte zu, sondern
holt sich nur welche heraus. Wenn du Strings aus den Variablen Escapen/ sichern
möchtest, dann weise den gesicherten String eleganterweise einer neuen/
anderen Variable zu.

2. sicherheitstechnisch bist du total auf dem Holzweg.
PHP-Code:
include ($_GET['site'] . '.php'); 
ist ein absolutes no-go. Wenn du dir diese Zeile mal in Ruhe ansiehst, wird - hoffe
ich - jede erklärung überflüssig
pepe24 ist offline  
Alt 24.07.2007, 17:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich schätze der Preis geht diesmal an Igäl...
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Was mime_content_type übergeben dethlef14 PHP Tipps 2006 16 11.10.2006 17:35
suche DRINGEND phped freeware version cos Off-Topic Diskussionen 2 06.07.2006 12:56
Upgrade Version 4 auf Version 5 snoopiline Datenbanken 3 06.06.2006 15:43
MySQL mit phpMyAdmin verwalten Datenbanken 20 13.04.2006 11:13
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
PHP-Safe-Mode Configuration mit Xampp - Scripts laufen nicht DerN8WaechterX PHP Tipps 2006 7 27.01.2006 00:41
Problem mit php/mysql PHP Tipps 2005-2 29 10.08.2005 14:33
[Erledigt] Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
[Erledigt] Error Mail() function PHP Tipps 2005 3 14.04.2005 03:32
[Erledigt] warum kann nicht SVG files laden? PHP Tipps 2005 16 09.03.2005 14:05
Mysql Version 4.0.15 auf 4.1.7 Problem Ypsillon Datenbanken 1 27.02.2005 14:29
DOM/XML und PHP Version HTML, Usability und Barrierefreiheit 3 02.02.2005 15:42
alte Version von php PHP Tipps 2005 10 06.01.2005 17:23
PHP: Fragen zur Version und Installation PHP Tipps 2007 1 02.01.2005 17:38
Vermutlicher Konflikt zwischen Version 4.3.1 und 4.3.4? PHP Tipps 2004 1 15.06.2004 03:08

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php version $_get

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.