Variablen an Functions übergen? Notwenidig?

Benzol

Erfahrenes Mitglied
Hi Leute!
Ich hab das gefühl, das meine Variabel $limit nicht an meine function übergeben wird. Die Variable wird oben in der Browserzeile übergeben, er ruft die Funktion auf, oben im Browser steht /?limit=2 und er sagt mir in der aufgerufenen Function immer, das $limit nicht da ist und somit 0 ist. Daher wollte ich wissen, ob ich die Variable extra an die Function übergeben muss und wenn ja, wie ich das mache. Ich hab hier mal die Suchfuntion beutzt, hab aber nur grobes in die RIchtung gefunden, nicht direkt mein Problem. Wäre schön, wenn Ihr mir helfen könntet. :)

Hier mal der Code:
PHP:
$number = mysql_num_rows(mysql_query("SELECT * FROM News"));	
$seiten=floor($number/10);
	
for($i = $seiten+1; $i != 0; $i--)	{
echo"<a href='?limit=$i'>$i</a>";
}

Dieser Teil erzeigt meine Links, mit dem Wert von $limit.

PHP:
if(!$limit)	$limit=0;

Und das überprüft dann, ob Limit existiert, und wenn nicht, $limit=0.

Puh, nach 2 Stunden probieren geb ichs jetzt entgültig auf. Ich leg mich schlafen und hoffe darauf, das ich morgen mit hilfe beschenkt werde ;)
gn8 all.
 
Falls bei dir register_globals auf "off" stehen sollte, musst du $limit mit
Code:
$_GET['limit']
ansprechen.
Und auf die Existenz einer Variable prüftst du per isset() ...also summa sumarum:
PHP:
if(!isset($_GET['limit']){$limit=0;}
else{$limit=$_GET['limit'];}

Solltest du $limit nicht innerhalb der Funktion deklarieren, musst sie dort noch bekannt machen:
Code:
global $limit;
 
Zuletzt bearbeitet:
Original geschrieben von fatalus
Solltest du $limit nicht innerhalb der Funktion deklarieren, musst sie dort noch bekannt machen:
Code:
global $limit;
Dies musst Du aber auch nur für nicht superglobale Variablen machen, sprich: die $_POST, $_GET, $_SESSION, $_FILES, $_COOKIES und $_SERVER-Arrays sind automatisch auch im lokalen Scope der Funktion verfügbar und müssen nicht globalisiert werden.
 
Muss ich sie IN der Funktion bekannt machen, oder irgenwo?
EDIT1: Ok, doofe Frage... nach 3 mal lesen hab ichs begriffen :) Bin grad erst aufgestanden :p
 
Zuletzt bearbeitet:
Zurück