WinFuture-Forum.de: Wie Kann Ich Meinen Code Einfacher Und übersichtlicher Schreiben^^ - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 5 Seiten +
  • 1
  • 2
  • 3
  • 4
  • 5
  • Letzte »

Wie Kann Ich Meinen Code Einfacher Und übersichtlicher Schreiben^^ >>php


#1 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 15. Mai 2008 - 16:02

Hallo alle zusammen,
Ich schreibe gerade an einer Website für mich und da mein Code jetzt ein bisschen unübersichtlich geworden ist wollt ich frage ob Ihr noch ein paar Tipps habt, wie ich ihn vereinfachen kann^^

index.php
<html>

 <head>
  
  <link rel="stylesheet" href="include/style.css">
  <link rel="shortcut icon" type="image/x-icon" href="include/favicon.ico">
  <meta name="author" content="dyon">
  <meta name="side" content="Dennis ">
  <meta name="keywords" content="Dennis">

<?php //counter
$aktiv = 1;// 0=keine Reloadsperre, 1=Reloadsperre
$zeit = 120;// Zeit der Reloadsperre in Minuten
$ipdatei = "ips.txt";// IP-Datei
$datei = "counter.txt";// Counterdatei
$stellen = 5;// Anzahl der führenden Nullen
function pruf_IP($rem_addr) {
  global $ipdatei,$zeit;
  @$ip_array = file($ipdatei);
  $reload_dat = fopen($ipdatei,"w");
  $this_time = time();
  for ($i=0; $i<count($ip_array); $i++) {
	list($ip_addr,$time_stamp) = explode("|",$ip_array[$i]);
	if ($this_time < ($time_stamp+60*$zeit)) {
	  if ($ip_addr == $rem_addr) {
		$gefunden=1;
	  }
	  else {
		fwrite($reload_dat,"$ip_addr|$time_stamp");
	  }
	}
  }
  fwrite($reload_dat,"$rem_addr|$this_time\n");
  fclose($reload_dat);
  return ($gefunden==1) ? 1 : 0;
}
if (file_exists($datei) && ($aktiv==0 || ($aktiv==1 && pruf_IP($_SERVER['REMOTE_ADDR'])==0))) {
  // Falls die Datei existiert, wird sie ausgelesen und
  // der dort enthaltene Wert um Eins erhöht.
  $fp=fopen($datei,"r+");
  $zahl=fgets($fp,$stellen);
  $zahl++;
  rewind($fp);
  flock($fp,2);
  fputs($fp,$zahl,$stellen);
  flock($fp,3);
  fclose($fp);
}else if (!file_exists($datei) && ($aktiv==0 || ($aktiv==1 && pruf_IP($_SERVER['REMOTE_ADDR'])==0))) {
  // Die Datei counter.txt existiert nicht, sie wird
  // neu angelegt und mit dem Wert 1 gefüllt.
  $fp=fopen($datei,"w");
  $zahl="1";
  fputs($fp,$zahl,$stellen);
  fclose($fp);
} else {
  // Die Datei existiert zwar, jedoch handelt
  // es sich wahrscheinlich um den gleichen Besucher
  $fp=fopen($datei,"r");
  $zahl=fgets($fp,$stellen);
  fclose($fp);
}

$zahl=sprintf("%0".$stellen."d",$zahl);

?>

 </head>

<?php
$action = $_GET['act'];
$m1=".counter";
$m1m1="total:";
$m2=".menu";
$m2m1="home";
$m2m2="news";
$m2m3="guestbook";
$m2m4="chat";
$m2m5="impressum";



	echo'<body>';
		echo'<div id="all">';
			echo'<div id="top">';
				echo'<img src="include/top.jpg" alt="top" id="top">';
			echo'</div>';
			echo'<div id="navi" class="klein">';
				echo'you are here >>';
			if($action=="" | $action=="m2" | $action=="m2m1" | $action=="m2m2" | $action=="m2m3" | $action=="m2m4" | $action=="m2m5" | $action=="m2m6" | $action=="m2m7"){
				echo '<a href="?act=m2">';
				echo $m2;
				echo'</a>';
				echo'>>';
				if($action=="" | $action=="m2m1") {
				echo '<a href="?act=m2m1">';
				echo $m2m1;
				echo'</a>';
				}
				if($action=="m2m2") {
				echo '<a href="?act=m2m2">';
				echo $m2m2;
				echo'</a>';
				}
				if($action=="m2m3") {
				echo '<a href="?act=m2m2">';
				echo $m2m3;
				echo'</a>';
				}
				if($action=="m2m4") {
				echo '<a href="?act=m2m2">';
				echo $m2m4;
				echo'</a>';
				}
				if($action=="m2m5") {
				echo '<a href="?act=m2m2">';
				echo $m2m5;
				echo'</a>';
				}
				if($action=="m2m6") {
				echo '<a href="?act=m2m2">';
				echo $m2m6;
				echo'</a>';
				}
				if($action=="m2m7") {
				echo '<a href="?act=m2m2">';
				echo $m2m7;
				echo'</a>';
				}
			}
				
			echo'</div>';
			echo'<ul id="menue">';
					echo'<li id="menuefeldueberschrift">';
					echo $m1;
					echo'</li>';
					echo'<li id="menuefeldmain">';
					echo $m1m1;
					include "counter.txt";
					echo '</li>';
					echo'<li id="menuefeldueberschrift">';
					echo $m2;
					echo'</li>';
					echo'<li id="menuefeldmain"><a id="menuefeld" href="?act=m2m1">';
					echo $m2m1;
					echo'</a></li>';
					echo'<li id="menuefeldmain"><a id="menuefeld" href="?act=m2m2">';
					echo $m2m2;
					echo'</a></li>';
					echo'<li id="menuefeldmain"><a id="menuefeld" href="?act=m2m3">';
					echo $m2m3;
					echo'</a></li>';
					echo'<li id="menuefeldmain"><a id="menuefeld" href="?act=m2m4">';
					echo $m2m4;
					echo'</a></li>';
					echo'<li id="menuefeldmain"><a id="menuefeld" href="?act=m2m5">';
					echo $m2m5;
					echo'</a></li>';
					
					echo'<li id="menuefeldueberschrift">.login</li>';
					echo'<li id="menuefeldmain"><a id="menuefeld"><input id="login" type="text" name="name" value="name"></a></li>';
					echo'<li id="menuefeldmain"><a id="menuefeld"><input id="login" type="password" name="password" value="password"></a></li>';
					echo'<li id="menuefeldmain"><a id="menuefeld" href="l.php">login</a></li>';
					
					echo'<li id="menuefeldueberschrift">.chat</li>';
			echo'</ul>';
			echo'<div id="main">';

$action = $_GET['act'];
if($action=="" | $action=="m2m1") {
echo '<title>.net - ';
echo $m2m1;
echo'</title>';
echo 'home';
}

if($action=="m2m2") {
echo '<title>.net - ';
echo $m2m2;
echo'</title>';
echo $m2m2;
}

if($action=="m2m3") {
echo '<title>.net - ';
echo $m2m3;
echo'</title>';
echo $m2m3;
}

if($action=="m2m4") {
echo '<title>.net - ';
echo $m2m4;
echo'</title>';
echo $m2m4;
}

if($action=="m2m5") {
echo '<title>.net - ';
echo $m2m5;
echo'</title>';
echo $m2m5;
}


	
	

			echo'</div>';

		echo'</div>';
		echo'<p id="footer">(c)2008 by Dennis - Impressum</p>';
	echo'</body>';
?>
</html>


und dazu der style
style.css
Body
{ 
font-family: Helvetica, Geneva, Arial, SunSans-Regular, sans-serif; 
background-color:A9A8A8;
min-width:800px;
min-height:600px;
width:802px;
}

Div#all
{
background-color:404040;
width:800px;
border:1px solid black;
padding-top:0px;
margin-top:20px; margin-left:10px;
text-align:justify;
}

Div#top
{
height:170px;
background-color:6A6A6A;
border:0px;
margin-bottom:0px; margin-top:0px; 
text-align:right;
color:001EFF;
font-size:100px;
border-bottom:1px solid black;
}

Div#navi
{
margin-left:200px;
background-color:6A6A6A;
border-left:1px solid black; border-bottom:1px solid black;
height:30px;
}

Img#top
{
 width:700; 
 height:148.75;

 margin-left:50px; margin-right:50px;
 margin-top:10.625px;
}

ul#menue
{
float:left;
width:200px;
padding-left:20px;
margin-bottom:20px;
padding-bottom:20px;
}

*html ul#menue
{
padding-left:0px;
margin-left:20px;
}

li#menuefeldueberschrift
{
margin-top:20px;
width:158px;
background-color:404040;
text-align:center;
color:001EFF;
border:solid 1px A9A8A8;
list-style:none;
margin-left:0px;
}

li#menuefeldmain
{
width:152px;
background-color:6A6A6A;
text-align:justify;
border:solid 4px A9A8A8;
list-style:none;
}

*html li#menuefeldmain
{
width:158px;
margin-top:-3px;
}


li#menuefeldmain a:link
{
color:black;
text-decoration:none;
display:block;
}

li#menuefeldmain a:visited
{
color:black;
text-decoration:none;
display:block;
}

li#menuefeldmain a:hover
{
color:A9A8A8;
background-color:001EFF;
text-decoration:none;
display:block;
}

li#menuefeldmain a:active
{
color:A9A8A8;
background-color:001EFF;
text-decoration:none;
display:block;
}

input#login
{
background-color:A6A6A6;
margin-left:4px;
border:0px;
}

Div#main
{
min-height:500px;
margin-left:-20px;
}






p#footer
{
font-size:10px;
text-align:right;
width:802px;
margin:0px;
padding:0px;
}

.klein
{
font-size:10px;
}


Danke
MFG
0

Anzeige



#2 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 787
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 15. Mai 2008 - 16:11

lol
Oben den Code für den Counter auslagern in bsw. counter.php und dann an die Stelle per include(); einfügen.
Der untere Teil deiner seine ist fragwürdig ;)
z.B.:

Zitat

if($action=="m2m5") {
echo '<title>.net - ';
echo $m2m5;
echo'</title>';
echo $m2m5;
}


Ausgabe: <title>.net - TEXT</title>TEXT ........... was macht das für einen Sinn?;)
Du hast es dir zu umständlich gemacht^^

Dieser Beitrag wurde von K050V4 bearbeitet: 15. Mai 2008 - 16:12

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#3 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 15. Mai 2008 - 16:11

Wenn es nur darum geht, das ganze übersichtlicher zu machen, würde ich den Code schön einrücken, dass die je nach Verschachtelungstiefe weiter eingerückt sind, so wie es ja teilweise schon gemacht ist, nur das die zusammengehörenden Klammernpaare genau übereinander sind. Dann würde ich komplexere Sachen auslagern, zum Beispiel alles was zum Counter gehört in eine extra php-Datei und die über include oder require einbinden. Ja und dann kommentieren aber da scheiden sich die Geister. Die einen sagen Kommentare sind ganz toll, dann kann man immer nachlesen, was da gerade passiert im Script und die anderen sagen, die Zeit die für das Kommentare schreiben draufgeht sollte man lieber nutzen, um den Code vernünftig sauber und übersichtlich zu schreiben, dann erkennt man auch am Code, was da gerade passiert.

Edit. Navigation ließe sich wie der Counter auch auslagern und auch effektiver schreiben. Das ganze Script an sich ist sehr umständlich.

Dieser Beitrag wurde von Gitarremann bearbeitet: 15. Mai 2008 - 16:14

Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#4 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 15. Mai 2008 - 16:16

danke für die schnellen Antworten^^

@K050V4
if($action=="m2m5") {
echo '<title>.net - ';
echo $m2m5;
echo'</title>';
echo $m2m5;
}

des soll bedeuten, dass wenn ich action habe, dass dann als überschrift die variable $m2m5 ausgegeben wird, und die dann gleichzeitig auch in den title geschrieben wird, wusste nicht wie ich es einfacher schreiben sollte.


->Es soll natürlich auch übersichtlicher gemacht werden durch einrücken, aber zuerst wollt ich fragen wie man den Code an sich einfacher schreiben kann^^

MFG
0

#5 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 15. Mai 2008 - 16:24

Ach da fällt mir noch was auf, du hast in der Navi eine id mehrfach vergeben. Das geht nicht. Eine ID ist eindeutig, die gibts nur einmal. Mach das mal über Klassen. Und dann gibts verschiedene andere Varianten für die Navigation. Entweder in html und nur die Variablen per php oder ganz in php und ab einer bestimmten Länge lohnt es sich dann als Schleife.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#6 Mitglied ist offline   OskarMRz 

  • Gruppe: aktive Mitglieder
  • Beiträge: 274
  • Beigetreten: 22. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:noone knows

geschrieben 15. Mai 2008 - 16:26

Du kannst dich auch an Templates versuchen, das trennt das Design vom eigentlichen Code. ;)
0

#7 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 15. Mai 2008 - 16:26

Ok des mit den Klassen werde ich vllt ändern^^
Wie könnte ich des denn als Schleife machen?
0

#8 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 15. Mai 2008 - 16:32

Beitrag anzeigenZitat (OskarMRz: 15.05.2008, 17:26)

Du kannst dich auch an Templates versuchen, das trennt das Design vom eigentlichen Code. ;)


Da ist doch gar kein Design im Code drin? Ist doch alles schön in der CSS. Mehr trennen geht doch gar nicht.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#9 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 15. Mai 2008 - 16:39

Beitrag anzeigenZitat (Dyon: 15.05.2008, 17:26)

Ok des mit den Klassen werde ich vllt ändern^^
Wie könnte ich des denn als Schleife machen?


Na zum Beispiel statt.

<ul>
<li class="lala"><a href="index.php?id=1"><?=$variable[1]?></a></li>
<li class="lala"><a href="index.php?id=2"><?=$variable[2]?></a></li>
<li class="lala"><a href="index.php?id=3"><?=$variable[3]?></a></li>
<li class="lala"><a href="index.php?id=4"><?=$variable[4]?></a></li>
<li class="lala"><a href="index.php?id=5"><?=$variable[5]?></a></li>
<li class="lala"><a href="index.php?id=6"><?=$variable[6]?></a></li>
<li class="lala"><a href="index.php?id=7"><?=$variable[7]?></a></li>
<li class="lala"><a href="index.php?id=8"><?=$variable[8]?></a></li>
<li class="lala"><a href="index.php?id=9"><?=$variable[9]?></a></li>
<li class="lala"><a href="index.php?id=10"><?=$variable[10]?></a></li>
<li class="lala"><a href="index.php?id=11"><?=$variable[11]?></a></li>
</ul>



einfach

<ul>
<?php for ($i=1;$i<12;$i++)
{ echo("<li class=\"lala\"><a href=\"index.php?id=$i\"><?=$variable[$i]?></a></li>"); }
</ul> ?>
</ul>


Du könntest dann auch die Klassen in Variablen machen und bastelst die "Konfigurationsdateien". Für die Navi zum Beispiel eine Datei, wo dann drinsteht

<?php
$variable[1] = "Punkt 1";
$variable[2] = "Punkt 2";
.
usw.
.
?>


und die wird dann vor der Navi geladen. Wenn du dann später was in der Navi ändern willst, mußt du nicht im Menüscript rumwerkeln, sondern änderst einfach nur die Begriffe in der Konfigurationsdatei. Wenn es mal noch weiter geht (So mach ich das im Moment) und die ganzen Inhalte in einer Datenbank liegen, dann kann man den Unterthemen gleich in der Datenbank ihre Menüpunktbegriffe zuordnen
Dann "bastelt" sich die Navi ganz von alleine anhand der Datenbankeinträge zusammen. Pakt man ein neues Unterthema in die Datenbank, dann wird die Navigation von ganz alleine um den entsprechenden Punkt erweitert.

Dieser Beitrag wurde von Gitarremann bearbeitet: 15. Mai 2008 - 16:48

Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#10 Mitglied ist offline   OskarMRz 

  • Gruppe: aktive Mitglieder
  • Beiträge: 274
  • Beigetreten: 22. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:noone knows

geschrieben 15. Mai 2008 - 16:42

Mehr trennen geht auf jeden Fall. ;) Er hat viel zu viele echo-Ausgaben, dadurch sieht das auch so unübersichtlich aus. Ich würde wirklich mir so eine kleine Klasse, wie SmartTemplate basteln und/oder runterladen. Dann wird es auch übersichtlicher. Und außerdem kann man dort auch Schleifen machen. SmartTemplate ist klein und nicht so überladen wie Smarty. Guck es dir auf jeden Fall an, denn du hast viel zu viel unübersichtliche Sachen. Und wozu gibst du die ganze HTML mithilfe von echo-Befehlen aus. Ich weiß, dass du damit anfängst, aber man nimmt entweder eine kleine Templateklasse, oder sammelt selbst alles zu einer Variable und gibt diese dann am Ende aus, oder gibt HTML einfach so aus, ohne echo und verschachtelt PHP in der HTML drin. Das muss nicht alles so umständlich sein.

Dieser Beitrag wurde von OskarMRz bearbeitet: 15. Mai 2008 - 16:45

0

#11 Mitglied ist offline   K050V4 

  • Gruppe: aktive Mitglieder
  • Beiträge: 787
  • Beigetreten: 13. August 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart
  • Interessen:(X)HTML<br />CSS2+<br />PHP 4/5<br />MySQL 5<br />Symfony 1.2+<br />JavaScript / AJAX<br />jQuery<br />C++<br />C#<br />Java<br />...

geschrieben 15. Mai 2008 - 16:51

<?php
	$action = $_GET['act'];

	$m1=".counter";
	$m1m1="total:";
	$m2=".menu";
	$m2m1="home";
	$m2m2="news";
	$m2m3="guestbook";
	$m2m4="chat";
	$m2m5="impressum";
 
	include('counter.php');

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">

<head>

	<title><? echo $action; ?></title>

	<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
	<meta name="description" content="" />
	<meta name="author" content="Dyon" />
	<meta name="keywords" content="Dennis" />

	<link href="include/style.css" type="text/css" rel="stylesheet" />
	<link rel="shortcut icon" type="image/x-icon" href="include/favicon.ico">

</head>
<body>
	<div id="all">
	<div id="top">
	<img src="include/top.jpg" alt="top" id="top">
	</div>

	<div id="navi" class="klein">you are here:';

	<?php

		if($action=="" | $action=="m2" | $action=="m2m1" | $action=="m2m2" | $action=="m2m3" | $action=="m2m4" | $action=="m2m5" | $action=="m2m6" | $action=="m2m7") {
			echo '<a href="?act=m2">'.$m2.'</a>';

			if($action=="" | $action=="m2m1")
				echo '<a href="?act=m2m1">'.$m2m1.'</a>';

			if($action=="m2m2")
				echo '<a href="?act=m2m2">'.$m2m2.'</a>';

			if($action=="m2m3")
				echo '<a href="?act=m2m2">'.$m2m3.'</a>';

			if($action=="m2m4")
				echo '<a href="?act=m2m2">'.$m2m4.'</a>';

			if($action=="m2m5")
				echo '<a href="?act=m2m2">'.$m2m5.'</a>';

			if($action=="m2m6")
				echo '<a href="?act=m2m2">'.$m2m6.'</a>';

			if($action=="m2m7")
				echo '<a href="?act=m2m2">'.$m2m7.'</a>';
		}
	?>
	</div>


	<ul id="menue">
		<li id="menuefeldueberschrift">
			<?p echo $m1; ?>
		</li>
		<li id="menuefeldmain">
			<?  echo $m1m1;
				include "counter.txt";
			?>
		</li>
		<li id="menuefeldueberschrift">
			<? echo $m2; ?>
		</li>
		<li id="menuefeldmain">
			<a id="menuefeld" href="?act=m2m1">
				<? echo $m2m1; ?>
			</a>
		</li>
		<li id="menuefeldmain">
			<a id="menuefeld" href="?act=m2m2">
				<? echo $m2m2; ?>
			</a>
		</li>
		<li id="menuefeldmain">
			<a id="menuefeld" href="?act=m2m3">
				<? echo $m2m3; ?>
			</a>
		</li>
		<li id="menuefeldmain">
			<a id="menuefeld" href="?act=m2m4">
				<? echo $m2m4; ?>
			</a>
		</li>
		<li id="menuefeldmain">
			<a id="menuefeld" href="?act=m2m5">';
				<? echo $m2m5; ?>
			</a>
		</li>
		<li id="menuefeldueberschrift">
			.login
		</li>
		<li id="menuefeldmain">
			<a id="menuefeld">
				<input id="login" type="text" name="name" value="name" />
			</a>
		</li>
		<li id="menuefeldmain">
			<a id="menuefeld">
				<input id="login" type="password" name="password" value="password" />
			</a>
		</li>
		<li id="menuefeldmain">
			<a id="menuefeld" href="l.php">
				login
			</a>
		</li>
		<li id="menuefeldueberschrift">
			.chat
		</li>
	</ul>

	<div id="main"></div>

	</div>


	<p id="footer">(c)2008 by Dennis - Impressum</p>

</body>
</html>



counter.php:

<?php //counter
$aktiv = 1;// 0=keine Reloadsperre, 1=Reloadsperre
$zeit = 120;// Zeit der Reloadsperre in Minuten
$ipdatei = "ips.txt";// IP-Datei
$datei = "counter.txt";// Counterdatei
$stellen = 5;// Anzahl der führenden Nullen
function pruf_IP($rem_addr) {
  global $ipdatei,$zeit;
  @$ip_array = file($ipdatei);
  $reload_dat = fopen($ipdatei,"w");
  $this_time = time();
  for ($i=0; $i<count($ip_array); $i++) {
	list($ip_addr,$time_stamp) = explode("|",$ip_array[$i]);
	if ($this_time < ($time_stamp+60*$zeit)) {
	  if ($ip_addr == $rem_addr) {
		$gefunden=1;
	  }
	  else {
		fwrite($reload_dat,"$ip_addr|$time_stamp");
	  }
	}
  }
  fwrite($reload_dat,"$rem_addr|$this_time\n");
  fclose($reload_dat);
  return ($gefunden==1) ? 1 : 0;
}
if (file_exists($datei) && ($aktiv==0 || ($aktiv==1 && pruf_IP($_SERVER['REMOTE_ADDR'])==0))) {
  // Falls die Datei existiert, wird sie ausgelesen und
  // der dort enthaltene Wert um Eins erhöht.
  $fp=fopen($datei,"r+");
  $zahl=fgets($fp,$stellen);
  $zahl++;
  rewind($fp);
  flock($fp,2);
  fputs($fp,$zahl,$stellen);
  flock($fp,3);
  fclose($fp);
}else if (!file_exists($datei) && ($aktiv==0 || ($aktiv==1 && pruf_IP($_SERVER['REMOTE_ADDR'])==0))) {
  // Die Datei counter.txt existiert nicht, sie wird
  // neu angelegt und mit dem Wert 1 gefüllt.
  $fp=fopen($datei,"w");
  $zahl="1";
  fputs($fp,$zahl,$stellen);
  fclose($fp);
} else {
  // Die Datei existiert zwar, jedoch handelt
  // es sich wahrscheinlich um den gleichen Besucher
  $fp=fopen($datei,"r");
  $zahl=fgets($fp,$stellen);
  fclose($fp);
}

$zahl=sprintf("%0".$stellen."d",$zahl);

?>

Dieser Beitrag wurde von K050V4 bearbeitet: 15. Mai 2008 - 16:52

Zitat

"In der Welt des Erkennbaren ist die Idee des Guten die höchste." - Platon

Spritify! Easy CSS-Sprite-Generator | Albanisch Deutsch Wörterbuch
0

#12 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 15. Mai 2008 - 16:52

Ich komme einfach mit dem Begriff "Template" nicht klar. Von 20 Leuten, die das Wort benutzen, meinen nur 2 das gleiche. 18 Haben ganz andere Vorstellungen, was das überhaupt bedeutet.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#13 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 15. Mai 2008 - 17:21

Beitrag anzeigenZitat (Gitarremann: 15.05.2008, 17:52)

Ich komme einfach mit dem Begriff "Template" nicht klar. Von 20 Leuten, die das Wort benutzen, meinen nur 2 das gleiche. 18 Haben ganz andere Vorstellungen, was das überhaupt bedeutet.

Wo ist das Problem? Template ist englisch und bedeutet Vorlage. Und genau von Vorlagen wurde auch gesprochen. Es gibt unendlich Möglichkeiten, solche Vorlagen zu benutzen und genausoviele Möglichkeiten diese mit Inhalt zu füllen. Smarty ist zum Beispiel eine Template Engine, die versucht HTML und PHP so weit wie möglich zu trennen.

Gruß,
Stefan
0

#14 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 15. Mai 2008 - 17:29

Beitrag anzeigenZitat (Diewie: 15.05.2008, 18:21)

Wo ist das Problem? Template ist englisch und bedeutet Vorlage. Und genau von Vorlagen wurde auch gesprochen. Es gibt unendlich Möglichkeiten, solche Vorlagen zu benutzen und genausoviele Möglichkeiten diese mit Inhalt zu füllen. Smarty ist zum Beispiel eine Template Engine, die versucht HTML und PHP so weit wie möglich zu trennen.

Gruß,
Stefan


Früher war ein Template eine Vorlage, die für mehrere Unterseiten genutzt wurde. Man mußte diese Vorlage dann nur einmal ändern und die Unterseiten haben sich automatisch mitgeändert. Bei statischen html-Sachen sicherlich eine ganz tolle Sache aber bei dynamischen Seiten, wo ich ja (wenn ich das vernünftig mache) nur eine Seite habe, wo dann nur der Inhalt entsprechend geladen wird, hab ich ja keine Unterseiten in dem Sinne. Es gibt ja nur eine einzige Seite die "gestylt" wird. Da brauche ich keine Templates im ursprünglichen Sinne.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#15 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 15. Mai 2008 - 17:36

Beitrag anzeigenZitat (Gitarremann: 15.05.2008, 18:29)

Früher war ein Template eine Vorlage, die für mehrere Unterseiten genutzt wurde. Man mußte diese Vorlage dann nur einmal ändern und die Unterseiten haben sich automatisch mitgeändert. Bei statischen html-Sachen sicherlich eine ganz tolle Sache aber bei dynamischen Seiten, wo ich ja (wenn ich das vernünftig mache) nur eine Seite habe, wo dann nur der Inhalt entsprechend geladen wird, hab ich ja keine Unterseiten in dem Sinne. Es gibt ja nur eine einzige Seite die "gestylt" wird. Da brauche ich keine Templates im ursprünglichen Sinne.


Aber genau diese "Seite", in die der dynamische Inhalt geladen wird, ist ja quasi eine Vorlage :D
0

Thema verteilen:


  • 5 Seiten +
  • 1
  • 2
  • 3
  • 4
  • 5

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0