Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ich hab dir doch die Variante gepostet mit mktime, so kannst du ganz einfach einen Timestamp erzeugen, der sich numerisch mit time() vergleichen lässt.

Warum nicht einfach so:




# Timestamp für Lizenz erzeugen :
<?php

   $timestamp 
mktime(0,0,0,2,1,2007);
   
// $timestamp = 1170284400

   
$open fopen(&#39;lizenzfile.txt&#39;, &#39;w+&#39;);
   
fwrite($open$timestamp);

?>


# lizenzfile.txt
1170284400

# nebenleiste.php
(oder die Seite, wo die Navigation erscheint)
<?php

    $zeitpunkt 
= @file(&#39;lizenzfile.txt&#39;);
    // Erst noch den Absatz am Zeilenende entfernen, nicht unbedingt notwendig, aber macht sich besser
    
$lizenz str_replace("\r\n"""$zeitpunkt[0]);

    if(
$lizenz <= time())
    {
     echo 
"Ihre Lizenz verfiel am ".date("d.m.Y"$lizenz);
     }
     else
     {
?>
      <a href="link1.html">Link1</a>
      <a href="link2.html">Link2</a>
      ....
<?
      }
?>
« Letzte Änderung: 17.10.06, 13:45:45 von Der olle Schwoebel »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ich hab dir doch die Variante gepostet mit mktime

Das meinte ich mit "Don't repeat yourself". Es steht ja im Prinzip schon alles da! Man kann diesen Thread getrost schließen...  ::)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ich weiß, dass man so nichts lernt, wenn man alles auf dem güldenen Tellerchen serviert bekommt, aber ich denke mal, die Funktionsweise von mktime war einfach nicht klar.

Ich hab mir auch nie eine Dokumentation - besser gesagt ein Tutorial - von PHP durchgelesen, ich hab mir ein umfangreiches PHP-Script angeschaut und davon "abgekupfert" und Stück für Stück dann php.net reingezogen, deswegen kann ich das nachvollziehen, wenn jemand keine Dokumentation durchlesen will - ich kann keinem dazu raten das nachzumachen, denn das kostet weitaus mehr Zeit als andersherum - und in dem Fall ging das nur, weil PHP eine wirklich einfache Syntax hat ;)

Es hilft aber nichts, wenn man mit Scripts hantiert und deren Bedeutung und Funktionsweise nicht kennt, deswegen sollte man zumindest einmal die Beschreibung der Funnktion auf http://de.php.net durchlesen, verstehen, was man da ließt, ist dann der zweite Schritt ;)

Ich hab mir auch anhörn müssen, dass man nicht einfach so von heute auf morgen anfängt zu programmiern, das ist eine lange Arbeit
Zitat
es schadet überhaupt nicht, wenn man sich erstmal im Netz informiert und im stillen Kämmerlein die Grundlagen lernt, bevor man anfängt, das ganze Internet nach den Basics zu fragen!

Solche Aussage bringen einen zwar auch nicht weiter, aber sollten einen doch ins Grübeln bringen ;) - also erstmal die Funktionen anschauen, im letzten Codebeispiel hab ich ganze 7 benutzt:

date()
file()
fopen()
fwrite()
mktime()
str_replace()
time()

Wenn man diese "Grundfunktionen" kennt, dann dürfte es nicht mehr schwierig sein ein funktionsfähiges "Lizenzsystem" zu schreiben[/font]

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Danke! Ich hab nämlich keinen Bock, immer der einzige Meckerfritze hier zu sein. Aber es gibt nunmal Tatsachen, die sich nicht verdrängen lassen, und die müssen gesagt werden. Denn hier in diesem Webmaster-Forum wird viel zu viel über irgendwelche Basics diskutiert, die sich jeder in kurzer Zeit selber anlesen kann. Von wirklichen Problemen wird ja hier leider kaum noch gesprochen.

Wie man sich nun programmiertechnische Grundlagen aneignet, das sei mal jedem selbst überlassen. Man kann sich Bücher oder Tutorials durchlesen, um den Einstieg zu schaffen. Mann kann auch wie du, Schwoebel, sich Skripte hernehmen und mit Hilfe der Befehlsreferenz versuchen zu verstehen. Eins sollte aber klar sein: man sollte schon verstehen, was man macht. Und man sollte verstehen, was die Referenz sagt. Wenn mir da Begriffe wie "Parameter", "Rückgabewert" oder "String" über den Weg laufen und ich keine Ahnung habe, was damit gemeint ist, dann muss ich eben ein Stück weiter vorne beginnen und Grundlagen schaffen.

Ich finde es übrigens überaus bedenklich, wenn man mit einer Technologie Geld verdienen möchte, die man nicht beherrscht.

So, Standpauke beendet ;D

greez 8)
JoSsiF

jo.... das ganze funzt jetzt vielen dank!  ;D aber noch eine frage: wie kann ich in einer textdatei nach einem in einer suchmaske eingegebenen wort suchen? das geht glaubs mit einem array gehen...

<?php
$suchwort
$_POST ["search"]
$datei fopen("lic.txt","r")
position array_search($suchwort,$datei);
?>


bin ich da auf dem richtigen weg? ??? ::):)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Übrigens: o.e. Zitat stammt übrigens aus diesem etwas in die Tage gekommenen Beitrag: http://www.computerhilfen.de/hilfen/index.php/topic,74997.0.html ;)

Gut, in dem Fall war ich auch noch nicht besonders weit, aber ein einfacher Hinweis, dass ein Unterstrich zwischen $ und REQUEST fehlt hätte ja auch gereicht (also $_REQUEST, so wie $_POST, $_GET, $_SERVER, $_SESSION und was weiß ich noch).

Trotzdem, der Post stammt vom 27.06.2005, vielleicht ist es ja ne kleine Motivation für dich, was man alles in einem Jahr erreichen kann ;)
(ist zwar fast 1 1/2 Jahre her, aber meine Kenntnisse in PHP "staginieren" seit Juli/August, weil ich nicht mehr brauch als ich bis jetzt "gelernt" hab ;))

sorry wenn ich immer solch dumme fragen stelle :(:-\:-X

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Ok, als Denkanstoss: Weißt du denn, was ein Array ist? Da fängt die "Grundlagenforschung" bereits an ;)

Um aus einem Text, den du mit fread ausließt, ein Array zu machen, solltest du dir mal die Funktion explode anschauen.

Im übrigen öffnest du in deinem Beispiel nur die Datei mit fopen, damit kannst du aber noch nichts anfangen.

Ließ dir erstmal das hier durch und versteh es (!):
explode
fopen
fread

Mit array_search bist du schon mal nicht falsch, aber es müsste in deinem Beispiel $position und nicht nur position heißen.
http://de.php.net/manual/de/function.array-search.php

------------------------------------------------

PS.: Ich könnte dir jetzt auch noch ein ganzes Codebeispiel posten, womit man so eine Suche hinbekommt wie hier, aber davon wirst du wahrscheinlich nur die Hälfte verstehen und außerdem lernst du so ja nichts. Wenn du dir selber verspricht, dass du damit auch was anfangen kannst (das Script ist nicht auskommentiert!), dann lad ich es mal in "allgemeiner Form" hoch.
« Letzte Änderung: 17.10.06, 16:39:42 von Der olle Schwoebel »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Die Suche im Array macht dann Sinn, wenn man die Textdatei mit file() einliest. Dass wir jetzt wieder bei fopen sind, liegt am vielzitierten Problem mit dem Verständnis.

@Schwoebel: lade dein Skript ruhig hoch. Mal sehen, was dann für ein neuer sinnfreier Mix aus altem und neuem Code entsteht.

Ja, ich verspreche es mir selber  ::) aber ich habe jetzt doch probiert, soweit ich gekommen bin:

<?php
$filename 
"lic.txt";
$open fopen ($filename"r");
$suchwort $_POST["search"];
if (
$suchwort !== "")
{
array_search($suchwort,$filename);
//weiter weiss ich nicht x-)
fclose ($filename);
?>


weiter komme ich leider nicht....  ::)

FUbu100

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
Die Suche im Array macht dann Sinn, wenn man die Textdatei mit file() einliest. Dass wir jetzt wieder bei fopen sind, liegt am vielzitierten Problem mit dem Verständnis.

Hach, nur gut, dass es diesen Zitierknopf gibt...wäre ja nicht auszuhalten, wenn man den selben Mist 5x per Hand schreiben müsste ;D

ach komm, ich vergesse es mit dieser suchfunktion.. mit dieser Einstellung bringt es ja eh nichts ...

« Letzte Änderung: 17.10.06, 17:08:49 von Fabian Weber »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
mit dieser Einstellung bringt es ja eh nichts ...

Wahre Worte  ():-)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
AS (Ante Scriptum):

Ach, wieder zu lange das Script umgestellt. Nächstes mal poste ich erst, wenn ich das Script fertig hab ;D

----------------------------------------------------


@JoSsiF, wer wird denn gleich so zynisch sein ;)

Der Denkansatz mit fopen ist nicht falsch, ich weiß nicht ob das beabsichtigt war, aber wenn man ein Dokument nach einer Wort durchsuchen will (vielleicht auch, wie oft es insgesamt vorkommt), dann ist das mit fopen und fread am Besten.

Natürlich, dann kann man noch array_walk benutzen und alle Zeilen aneinander hängen, aber das ist dann schon weitaus "fortgeschrittener". Ich benutze in meinem Code die Funktion file() und häng dann jede Zeile getrennt mit einem Leerzeichen an die andere (array_walk() macht ja aus einem Array einen String).

Nur denk ich mal an dieser Stelle wird fopen wohl nicht aus "reinem Wissen" aingesetzt worden sein, denn da braucht man noch fread dafür.

Hier ist der unauskommentierte Quellcode, allerdings ist der nicht für Anfänger optimiert, er soll auch gar nicht dazu dienen, Anfängern PHP beizubringen sondern soll "funktional" sein.

<?php

	
function 
trim_value(&$value)
	
{
	
  
$value trim($value); // trim() entfernt Zeilenumbruche ("Whitespaces") am Ende und Anfang der Datei
	
}
	

	
	
	
	

	
function 
vorkommen($suchstring$suchbegriff$pos)
	
{
	
	
$begrifflaenge strlen($suchbegriff);
	
	
$vorkommen true;
	
	

	
	
if(
substr($suchstring$pos$begrifflaenge) == $suchbegriff)
	
	
{
	
	
	
$vorkommen true;
	
	
}
	
	
else
	
	
{
	
	
	
$vorkommen false;
	
	
}
	
	

	
	
return 
$vorkommen;
	
}
	
	
	
	

	

	
$suchbegriff = &#39;das&#39;;
	
$suchbegriff strtolower($suchbegriff);
	
	

	
if(
strlen($suchbegriff) >= 3)
	
{
	
	
$treffertext = array();
	
	
$anzahl 0;
	
	

	
	
$treffer false;
	
	
$seite = &#39;test.txt&#39;; // Seite, die durchsucht werden soll
	

	
	
$textdatei file($seite);
	
	
array_walk($textdatei, &#39;trim_value&#39;);
	
	
	
	

	
	
$textdatei implode(&#39; &#39;, $textdatei);
	
	
$textdatei strip_tags($textdatei);
	
	
$textdatei strtolower($textdatei);
	
	
$seitenangabe false;
	
	

	
	
for(
$a 0$a strlen($textdatei); $a++)
	
	
{
	
	
	

	
	
	
if(
vorkommen($textdatei$suchbegriff$a) == true)
	
	
	
{
	
	
	
	

	
	
	
	
$startstring $a 100;
	
	
	
	
$stopstring $a strlen($suchbegriff);
	
	
	
	

	
	
	
	
if(
$startstring 0)
	
	
	
	
{
	
	
	
	
	
$laengefirst 100 $startstring;
	
	
	
	
	
$startstring 0;
	
	
	
	
}
	
	
	
	
else
	
	
	
	
{
	
	
	
	
	
$laengefirst 100;
	
	
	
	
}
	
	
	
	
	

	
	
	
	

	
	
	
	
$treffertext[$anzahl] = "...".substr($textdatei$startstring$laengefirst);
	
	
	
	
$treffertext[$anzahl] .= "<b style=\"color: #FF0000\">".$suchbegriff."</b>";
	
	
	
	
$treffertext[$anzahl] .= substr($textdatei$stopstring100)."...";
	
	
	
	

	
	
	
	
$treffer true;
	
	
	
	
$anzahl++;
	
	
	
	

	
	
	
	

	
	
	
}
	
	
}
	
	
	

	
	
	

	
	
if(
$treffer == false)
	
	
{
	
	
	
echo &
#39;Die Suche nach <i>"&#39;.$suchbegriff.&#39;"</i> erzielte leider keine Treffer&#39;;
	
	
}
	
	
else
	
	
{
	
	
	
echo 
"Die Suche nach <i>\"".$suchbegriff."\"</i> ergab ".$anzahl." Treffer:<br><br>\r\n";
	
	
	
echo 
"<ul>\r\n";
	
	
	
	

	
	
	
for(
$c 0$c count($treffertext); $c++)
	
	
	
{
	
	
	
	
echo 
"<li>".$treffertext[$c]."</li><br>\r\n";
	
	
	
}
	
	
	
echo 
"</ul>\r\n";
	
	
}
	
}
	
	

	
else
	
{
	
	
echo 
"Ihr Suchbegriff muss aus mindestens drei zusammenhängen Zeichen bestehen.";
	
}
	

?>
« Letzte Änderung: 17.10.06, 17:14:54 von Der olle Schwoebel »

ja das ist wirklich nix für anfänger  :o


« Kontakt: Wie eine Mail versenden, was mache ich falsch !Memberbereich erstellen ... - weiter? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Grundstrich
Der Begriff des Grundstrichs im Bereich der Typografie, bezeichnet den senkrechten Strich der Buchstaben. Bei Schriftarten mit variabler Strichstärke, wie zum Beispi...

Haarstrich
Der Begriff Haarstrich stammt aus dem Bereich der Typographie. Bei Schriften, wie zum Beispiel der Antiquaschrift mit unterschiedlichen Strichstärken, wird zwischen ...

Generations-Prinzip
Das Generations-Prinzip wird auch als das "Opa-Vater-Sohn-Prinzip" bezeichnet. Dieses Rotationsschema zur Speicherung von Daten ist eine überschreibende Datensicheru...