WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   HTML-Problem (http://www.wcm.at/forum/showthread.php?t=116860)

tosto 30.11.2003 12:23

also hab des mal mit php grad;)gemacht.
hier der code:

button.php
PHP-Code:

<?php
 $fp 
fopen("variable.txt","r");
   if (
$fp)
   {
      
$variable fgets($fp100);
      echo 
$variable;
      if (
$variable=="a")
        
$url="seitea.php";
      else
        {
        if (
$variable=="b")
          
$url="seiteb.php";
        else
          
$url="seitec.php";
        }
      
fclose($fp);
   }
echo 
'[url="' $url '"]Button[/url]';
?>

seitea.php
PHP-Code:

<?php
   $fp 
fopen("variable.txt","w");
   if (
$fp)
   {
      
flock($fp,2);
      
$nl chr(13) . chr(10);
      
fputs ($fp"a");
      
flock($fp,3);
      
fclose($fp);
   }
?>

nach dem muster von seitea.php gehst du dann vor.
einfach die buchstaben ändern und des klappt.
wenn de die sieten anders nennen wilst musst du in button.php jeweils den namen ändern. und dennseitenmanedann auch.
wenn es mehrere seiten sein sollen einfach in button nochmals ne if abfrage einfügen.
ach ja du musst auf deinem web server von hand eine datei namens variable.txt erstellen die keinen inhalt hat.
dann klappt alles von selbst.
so, bei fragen schreien!
und viel spaß noch...;)

ciao

P.St 01.12.2003 16:23

Super, werde den Code testen und dann berichten!

Vielen Dank schon mal,

Peter

tosto 01.12.2003 20:38

wenn du willst setz ich dir des auch noch mit my sql um. wenns des bracuht aber da muss ich dann noch mal grad handanlegen.;)

ciao

P.St 02.12.2003 08:21

hmmm, php?
 
Hallo tosto!

php? Leider habe ich ueberhaupt keine Ahnung von php. Habe zwar gerade im Netz nachgelesen, wie man php in eine HTML-Seite einbindet u.s.w., viel schlauer bin ich aber jetzt auch nicht. Auch soll nicht jeder Server php zulassen, kann es der chello-Server? Dort soll einmal meine HP liegen.
Was ich braeuchte waere eine (einfache) Moeglichkeit deinen php-Script, oder was gleichwertiges, einfach in mein bestehendes Homepage-Geruest einzubauen. Sodass eben nur die History (Back-Button des Browsers und Back-Button auf der Seite) so funktioniert, wie ich es mir im ersten Posting vorgestellt habe.

Gibt es das? Kannst du mir da helfen?

Liebe Gruesse und schon mal vielen Dank...

Peter

tosto 02.12.2003 20:26

also ob dioe bei chello php anieten weiß ich nicht. frag da mal nach. eigentlich sollten die des schon machen, ist ja kostenlos und ohne geht heute schon fast nichts mehr.
wenn du willst schreibe ich dir eine komplexe anleitung zu dem php script, weil in java oder javascript kannn ich dir des leider nicht übersetzen...:heul: sry!
vielleicht kanns ein anderer.

ciao

jak 02.12.2003 23:46

Möglichkeit in Js:
die Links benennen, an alle Links mit document.getElementById("linkname").href+="?"+zahl ;
die Variable zahl (=Anzahl der Seiten seit Beginn) anhängen und dann mittels window.location.search die Zahl wieder extrahieren und in den history.go(-zahl) link einbauen. Ob's geht???

Jak

tosto 03.12.2003 20:35

setz des mal innen kompletten code umm ob des hinhaut.
ich kann js nämlich null. wäre aber interessant und wesentlich einfacher, denk ich.

ciao

P.St 04.12.2003 13:27

@jak

kann leider mit deinen Ideen nichts anfangen, dafuer ist mein JS-Koennen einfach zu schwach... kannst du mir helfen? Wie hast du das gemeint?

Peter

heli2sky 04.12.2003 16:13

soweit ich weiß kann der chello server kein php...

jak 05.12.2003 19:45

Ich hab an etwas in der Form gedacht:

Code:

<body onload="javascript:increaseNumber()">
dahin
dahin
dahin


wo komm' ich her???
<script language="JavaScript">
 function toNumber(str){
  for(var j=100;j>0;j--)if(str.indexOf("?"+j)==0)return j;
  return 0;
 }

 function increaseNumber(){
  var num=toNumber(window.location.search);
  num++;
  for(var i=0;i<document.links.length;i++) pos=document.links[i].href+="?"+num;
  var newUrl="javascript:history.go("+num*-1+")";
  document.getElementById("iWantBack").href=newUrl;
 }
</script>
</body>

Erklärung:
die Funktion toNumber sucht in einem String der ihr als Parameter übergeben wird (str) nach der Zeichenfolge ?irgendeineZahl (z.B.:?1, ?25, usw.). Dazu wird in einer for Schleife mithilfe von indexOf geschaut ob die Zeichenfolge an erster Stelle von str steht (indexOf()==0) Wenn das so ist, wird die Zahl zurückgegeben, sonst 0.

Diese Funktion wird in increaseNumber aufgerufen, und zwar mit dem Teil der Url der hinter dem ? steht (inklusive ?). Das macht window.location.search . Jetzt steht in num 0 oder die Zahl der bisher besuchten Seiten, daher wird num um eins erhöht (num++).
Dann werden in einer for schleife alle Links der Seite durchlaufen und an alle die Zeichenkette ?+num angehängt (z.B. ?3) (a+=b bedeutet das selbe wie a=a+b). Zum schluß wird noch der Link fürs zurückgehen auf den richtigen Wert gesetzt.

Ich hoffe das es so funktioniert, die Lösung mit php wäre sicher sauberer.
Jak


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag