mirror of
https://gitlab.com/harald.mueller/aktuelle.kurse.git
synced 2024-10-20 02:05:05 +02:00
375 lines
14 KiB
HTML
375 lines
14 KiB
HTML
|
<html>
|
||
|
<head>
|
||
|
|
||
|
<title>PHP-Einfach.de - PHP Einführung - Nützliche Funktionen</title>
|
||
|
<meta name="Author" content="Andavos">
|
||
|
<meta name="Publisher" content="Andavos">
|
||
|
<meta name="Copyright" content="Andavos">
|
||
|
<link rel="stylesheet" href="css/main.css" tppabs="http://www.php-einfach.de/offline/css/main.css" type="text/css">
|
||
|
</head>
|
||
|
<body text="#000000" bgcolor="#DDDDDD" link="#004A95" alink="#004A95" vlink="#525252">
|
||
|
|
||
|
<table align="center" height="100%" width="100%" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td align="center" valign="middle" height="100%" width="100%">
|
||
|
|
||
|
<table height="100" width="750" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" bgcolor="#FFE09F" width="750"><img src="grafiken/banner_top.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/banner_top.jpg" width="750" height="100" border="0" alt="">
|
||
|
<a name="oben"></a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table height="650" width="750" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
||
|
|
||
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="5"></td>
|
||
|
<td class="black" height="100" width="150">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<br><b><center><img src="grafiken/side_navigation.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_navigation.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/index.php"><b>»</b> Startseite</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_news.php"><b>»</b> Newsübersicht</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_email.php"><b>»</b> Kontakt</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_impressum.php"><b>»</b> Impressum</a><br><br>
|
||
|
|
||
|
|
||
|
<center><img src="grafiken/side_community.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_community.gif" width="150" height="25" border="0" alt=""></center>
|
||
|
<a target="_blank" class="blue" target="_blank" href="http://forum.php-einfach.de/"><b>»</b> Forum</a><br>
|
||
|
<a target="_blank" class="blue" href="http://www.php-einfach.de/nav_gaestebuch.php"><b>»</b> Gästebuch</a><br><br>
|
||
|
|
||
|
|
||
|
<center><img src="grafiken/side_tutorials.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_tutorials.gif" width="150" height="25" border="0" alt=""></center>
|
||
|
<a class="blue" href="einf_php.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php.php"><b>»</b> Einführung PHP</a><br>
|
||
|
|
||
|
|
||
|
<a class="blue" href="einf_php_anfang.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_anfang.php"><b>»</b> Anfang</a><br>
|
||
|
<a class="blue" href="einf_php_erste_schritte.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_erste_schritte.php"><b>»</b> Erste Schritte</a><br>
|
||
|
<a class="blue" href="einf_php_variablen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_variablen.php"><b>»</b> Variablen</a><br>
|
||
|
<a class="blue" href="einf_php_if-anweisung.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_if-anweisung.php"><b>»</b> if-Anweisung</a><br>
|
||
|
<a class="blue" href="einf_php_logische_operatoren.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_logische_operatoren.php"><b>»</b> Log. Operatoren</a><br>
|
||
|
<a class="blue" href="einf_php_uebung1.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_uebung1.php"><b>»</b> Übung</a><br>
|
||
|
<a class="blue" href="einf_php_dateien.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien.php"><b>»</b> Dateien</a><br>
|
||
|
<a class="blue" href="einf_php_schleifen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_schleifen.php"><b>»</b> Schleifen</a><br>
|
||
|
<a class="blue" href="einf_php_array.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_array.php"><b>»</b> Array</a><br>
|
||
|
<a class="blue" href="einf_php_dateien2.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_dateien2.php"><b>»</b> Dateien Teil 2</a><br>
|
||
|
<a class="blue" href="einf_php_datum.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_datum.php"><b>»</b> Datum & Zeit</a><br>
|
||
|
<a class="blue" href="einf_php_email.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_email.php"><b>»</b> Mail Funktion</a><br>
|
||
|
<div style="position: relative; left:15;" >
|
||
|
<a class="blue"href="einf_php_suchen_ersetzen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_suchen_ersetzen.php"><b>»</b> Suchen & Ersetzen</a><br>
|
||
|
<a class="blue" href="einf_php_nuetz_funktionen.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_nuetz_funktionen.php"><b>»</b> Nützliche Funktionen</a><br>
|
||
|
</div>
|
||
|
<a class="blue" href="einf_php_sessions.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_sessions.php"><b>»</b> Sessions</a><br><br>
|
||
|
|
||
|
|
||
|
|
||
|
<a class="blue" href="einf_mysql.php.htm" tppabs="http://www.php-einfach.de/offline/einf_mysql.php"><b>»</b> Einführung MySQL</a><br>
|
||
|
|
||
|
<br>
|
||
|
<center>
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_verlinkung.php"><img src="grafiken/php-einfach.gif" tppabs="http://www.php-einfach.de/offline/grafiken/php-einfach.gif" width="88" height="31" border="0" alt="PHP-Einfach.de"></a><br><br>
|
||
|
|
||
|
<a target="_blank" href="http://www.digicount.de/"><b>Counterdienst:</b></a>
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_digicount.php"><div>
|
||
|
<img src="grafiken/digicount_livedemo.jpg" tppabs="http://www.php-einfach.de/offline/grafiken/digicount_livedemo.jpg" border="0" alt="Digicount.de"><br>
|
||
|
<small>Unser werbefreier Counter- und Statistikdienst</small></div>
|
||
|
|
||
|
</a>
|
||
|
</center>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
<td height="100" width="5"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
<td valign="top" bgcolor="#FFFFFF" width="430">
|
||
|
|
||
|
<table width="430" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="10"></td>
|
||
|
<td valign="top" class="black" height="100" width="410">
|
||
|
<br>
|
||
|
<h4>Nützliche Funktionen</h4>
|
||
|
|
||
|
Hier lernt ihr noch ein paar nützliche Funktionen von PHP kennen.<br><br>
|
||
|
|
||
|
|
||
|
<b>Gibt es die Variable schon?</b><br>
|
||
|
Möchte man mit PHP überprüfen, ob es eine Variable schon deklariert wurde, d.h. ob es diese schon "gibt", so kann man dies mit <b>isset($variable)</b> überprüfen.
|
||
|
|
||
|
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$var = $_GET["var"];
|
||
|
|
||
|
if(isset($var))
|
||
|
{
|
||
|
echo "Variable wurde gesetzt";
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
echo "Variable wurde nicht gesetzt";
|
||
|
}
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Wenn ihr diese Seite ganz normal aufruft, dann erhalten wir als Ausgabe, dass die Variable nicht gesetzt wurde, wenn wir dann aber an die URL ein <i>?var=123</i> hängen, erhalten wir als Ausgabe, dass die Variable übermittelt wurde.<br> <br>
|
||
|
|
||
|
Wenn man überprüfen möchte, ob es eine Variable noch <b>nicht</b> gibt, benötigen wir <b>!isset($variable)</b>
|
||
|
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$var = $_GET["var"];
|
||
|
|
||
|
if(!isset($var))
|
||
|
{
|
||
|
echo "Variable wurde nicht gesetzt";
|
||
|
}
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Das Ausrufungszeichen vor isset steht für <i>NOT</i> und kehrt die Rückgabe/Ergebnis der Funktion um. Also wenn isset(); <font color="#00DF00">TRUE</font> zurück gibt, steht dort ein <font color="#DE0000">FALSE</font> und umgekehrt.<br><br>
|
||
|
|
||
|
|
||
|
Man kann aber auch ganz normale Variablen überprüfen lassen.<br><br>
|
||
|
|
||
|
|
||
|
<b>Gibt es diese Datei?</b><br>
|
||
|
Eine gute Frage ist, ob es eine Datei gibt. So kann man z.B. tote Links vermeiden.
|
||
|
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
$datei = "datei.php";
|
||
|
if(file_exists($datei))
|
||
|
{
|
||
|
echo "Die Datei gibt es";
|
||
|
}
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Mit <b>file_exists()</b> können wir überprüfen lassen, ob es eine Datei gibt. Wenn die Datei vorhanden ist, gibt die Funktion <font color="#00DF00">TRUE</font>, sonst <font color="#DE0000">FALSE</font> zurück <br><br>
|
||
|
|
||
|
Schreibt man <b>!file_exists</b>, so wird überprüft, ob die Datei <b>nicht</b> vorhanden ist.<br><br>
|
||
|
|
||
|
<b>Ist die Datei beschreibbar?</b><br>
|
||
|
Wenn man Texte in Dateien speichert, so dürfen diese Dateien nicht Schreibgeschützt sein, das heißt sie brauchen die Schreibrechte CHMOD(777).<br><br>
|
||
|
|
||
|
Mit <b>is_writeable()</b> können wir überprüfen, ob die Datei beschreibbar ist.
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
if(is_writeable("datei.php"))
|
||
|
{
|
||
|
echo "sie ist beschreibbar";
|
||
|
}
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Mit einem Ausrufungszeichen vor dem <b>is_writeable</b> erhalten wir das Gegenteil als Effekt, sprich wir können überprüfen, ob wir die Datei <b>nicht</b> beschreiben können.<br><br>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3>Zufall</h3>
|
||
|
Hin und wieder braucht man ein Zufallszahlen, z.B. für kleinere Spielereien. Diese kann man aber auch z.B. benutzen, um ein zufälliges Bild auszugeben.<br><br>
|
||
|
|
||
|
Die Funktion selber ist einfach:<br>
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$zufall = rand(1,100);
|
||
|
echo $zufall;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Mit der Funktion <b>rand</b> bestimmen wir eine Zufallszahl zwischen <b>1</b> und <b>100</b>. Ihr könnt natürlich auch einen anderen Zahlenbereich benutzen.<br><br>
|
||
|
|
||
|
In der Klammer steht die Untergrenze und danach die Obergrenze des Zahlenraumes.<br><br>
|
||
|
|
||
|
Damit wir nicht immer <b>die gleiche</b> "Zufallszahl" erhalten, ist es wichtig, dass wir einen Startwert festlegen:<br><br>
|
||
|
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
srand((double)microtime()*1000000);
|
||
|
$zufall = rand(1,100);
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Dies geht mit <b>srand</b>. Dabei werden die Mikrosekunden (<b>microtime</b>) mal 1 Millionen genommen. Anschließend wird wieder eine Zahl zwischen 1 und 100 ermittelt. <br>
|
||
|
Bei neueren PHP-Versionen wird die Festlegung des Startwertes automatisch vorgenommen.<br><br>
|
||
|
|
||
|
|
||
|
<h3>Den Besucher ausspionieren</h3>
|
||
|
Mit PHP haben wir die Möglichkeit, viele Informationen über den Besucher zu erhalten z.B. seine IP-Adresse.<br><br>
|
||
|
|
||
|
Diese erfahren wir so:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$ip = getenv("REMOTE_ADDR");
|
||
|
echo $ip;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Wenn ihr diesen Befehl auf eurem virtuellem Server aufrufen, erhalten ihr normalerweise <b>127.0.0.1</b>.<br>
|
||
|
Auf dem echtem Server erhaltet ihr aber dann die IP Adresse des Besuchers.<br><br>
|
||
|
|
||
|
Außerdem kann man noch erfahren, auf welcher Seite der Besucher gerade ist:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$seite = $_SERVER["PHP_SELF"];
|
||
|
echo $seite;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Wenn eure Datei jetzt in einem Unterorder liegt, so wird der Ordnername auch angezeigt, möchte man diesen entfernen, so braucht man <b>basename($variable)</b>.
|
||
|
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$seite = $_SERVER["PHP_SELF"];
|
||
|
echo basename($seite);
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Wenn man aber den Namen des Ordners wissen möchte, sollte man <b>dirname($variable)</b> benutzen.
|
||
|
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$seite = $_SERVER["PHP_SELF"];
|
||
|
echo dirname($seite);
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Wenn man viel mit dynamischen Seiten arbeitet, reicht es nicht mehr aus, nur den Dateinamen zu erfahren.<br>
|
||
|
Denn wenn man auf der Seite <b>index.php?id=1</b> ist, und dies mit <b>PHP_SELF</b> anzeigen möchte, so erhält man als Ausgabe <b>index.php</b>.<br><br>
|
||
|
|
||
|
Damit diese Werte auch angezeigt werden, müssen wir die Funktion etwas umschreiben:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$seite = $_SERVER["REQUEST_URI"];
|
||
|
echo $seite;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Jetzt würden wir als Ausgabe z.B. <b>index.php?id=1</b> erhalten.<br><br>
|
||
|
|
||
|
|
||
|
Mit PHP können wir auch erfahren, woher der Besucher kommt:<br>
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$seite = $_SERVER["HTTP_REFERER"];
|
||
|
echo $seite;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
Dieser Befehl funktioniert aber nur, wenn wir durch einen Link oder ähnliches auf die Seite kommen sind.<br>
|
||
|
Manche Browser unterdrücken diese Information.<br><br>
|
||
|
|
||
|
Wir können auch erfahren welchen Browser der Besucher benutzt:
|
||
|
<font color="#606060">
|
||
|
<pre>
|
||
|
<?php
|
||
|
$browser = $_SERVER["HTTP_USER_AGENT"];
|
||
|
echo $browser;
|
||
|
?>
|
||
|
</pre>
|
||
|
</font>
|
||
|
|
||
|
|
||
|
|
||
|
<br><br>
|
||
|
|
||
|
Als nächstes lernen wir, wie man mit <a href="einf_php_sessions.php.htm" tppabs="http://www.php-einfach.de/offline/einf_php_sessions.php">Sessions</a> arbeitet.<br><br>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<a href="http://www.php-einfach.de/nav_impressum.php">Autor Andavos</a>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div align="center"><a href="#oben">Nach oben</a></div>
|
||
|
</td>
|
||
|
<td height="100" width="10"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
<td valign="top" bgcolor="#FFE09F" width="160">
|
||
|
|
||
|
<table width="160" cellspacing="0" border="0" cellpadding="0">
|
||
|
<tr>
|
||
|
<td height="100" width="5"></td>
|
||
|
<td valign="top" class="black2" height="100" width="150">
|
||
|
|
||
|
<br><b><center><img src="grafiken/side_news.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_news.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
|
||
|
|
||
|
<a target="_blank" href="http://www.php-einfach.de/nav_news.php">News</a>
|
||
|
<br><br>
|
||
|
|
||
|
<b><center><img src="grafiken/side_forum.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_forum.gif" width="150" height="25" border="0" alt=""></center></b>
|
||
|
<a target="_blank" href="http://forum.php-einfach.de/">Forum</a>
|
||
|
<br><br>
|
||
|
|
||
|
<b><center><img src="grafiken/side_newsletter.gif" tppabs="http://www.php-einfach.de/offline/grafiken/side_newsletter.gif" width="150" height="25" border="0" alt="Newsletter"></center></b>
|
||
|
|
||
|
<form target="_blank" method="post" action="http://www.php-einfach.de/clanletter/save.php">
|
||
|
|
||
|
|
||
|
<br> <br>
|
||
|
<div align="center">© PHP-Einfach.de 2003 - 2007 </div>
|
||
|
</td>
|
||
|
<td height="100" width="5"></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|