PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : VMS optimieren



D_Blade
17.03.2010, 00:31
Hallo Leute,

wenn ich bei mir die Links "Startseite","Mediadaten", "Impressum" (also ganz gewöhnliche Links wie bei jeder anderen Seite auch) nacheinander immer wieder schnell anklicke, dann wird ständig die gesamte Seite oder der große Header neu geladen.

Kann man das irgendwie optimieren? Ich habe eine andere VMS-Seite, da wird nicht der komplette Header neu geladen, sondern eben nur der Content, welcher auch gefragt war. Aber Unterschiede sehe ich da keine, außer eben im Design.


Darüber hinaus:

Ich möchte die Bettelseite des VMS optimieren. Am günstigen wäre es, wenn die Bettelseite zwar das "Hallihallo, herzlich Willkommen, tralala" mit anzeigt, aber nicht das Design, sondern nur die Info, dass man sich auf einer Bettelseite befindet und den Link zur Startseite.
Wäre sicherlich für beiderlei Seiten - User und Betreiber - besser.
Kann mir jemand einen Tipp geben, wie man das realisieren könnte^^

Ich hatte nie die Zeit mich tiefgründig mit PHP und HTML auseinanderzusetzen. Einige schwierige Codings kann ich richtig gut, und dann gibt es Anfängergrundlagen, mit denen ich mich nie befasst habe^^

Gremlin
17.03.2010, 00:41
Zeig mal beide URLs also einmal deine, und dann die Seite wo sich nur der Content nachlädt. Im Prinzip wäre dies mit ajax möglich. Alternativ auch mit Frames (auch wenn mega veraltete technik)

Everlast3310
17.03.2010, 06:55
Mit AJAX stimme ich zu, da die Seite im Hintergrund geladen wird, aber mit Frames? Bei Frames wird doch jedes Frame extra geladen oder hab ich da was verpasst?

jpwfour
17.03.2010, 10:49
Du hast einen Frame, der die Navigation enthält, also im VMS bspw. den Header, und einen anderen für den Inhalt. Wenn du dann einen Link im Navigationsframe anklickst, muss der natürlich so gestaltet sein, dass nur die Inhaltsframe geändert wird, die restlichen Teile des Framesets bleiben dann aber erhalten.
Merkt man daran, dass sich im Browser die URL nicht ändert.
Im Endeffekt erzeugt das ja einzelne unabhängige Websitenansichten, in etwa wie wenn man mehrere Tabs aufhat, nur komfortabler da zusammengestellt und eben übergreifender Zugriff möglich.

Denke aber, gerade für Mediadaten/Impressum sollte man weder Frames, noch AJAX nutzen, da besonders das Impressum auch für Leute mit deaktiviertem Javascript erreichbar sein muss, dann lieber mal die Headergrafik verkleinern/komprimieren etc.

D_Blade
17.03.2010, 15:45
Hmm, ja schon, aber irgendwie muss es doch leichter gehen.

Kann vllt auch daran liegen, dass es 2 verschiedene Umsetzer waren:

Also hier ist es ok:

www.bettel-pot.de


und hier lädt es alles neu:

urban-klicker . de
(Nicht wundern, dass im Header was anderes steht ;), das wird noch geändert und außerdem mach ich dann aus den png zu gif, aber erst später)

Naja.. und Ajax benutze ich ja weder auf der einen, noch auf der anderen Seite um mir den Content anzuzeigen.

didith1207
17.03.2010, 16:18
Vms optimieren is ja recht schön und gut aber wenn du deine 2counter aus dem Footer entfernst ersparst dir mehr als du beim VMS optimieren kannst ;)

Gremlin
17.03.2010, 16:24
Bettel-Pott ist tabellen Design
Urban-Klicker hat ein schönes div Design. Bei mir lädt dort jedoch nicht alles nach.

Aber mach die Counter raus die ziehen einiges insbesondere Losecounter.de werde zu Losecounter.de wohl gleich noch einen Thread machen :knueppel:

D_Blade
17.03.2010, 16:54
Vms optimieren is ja recht schön und gut aber wenn du deine 2counter aus dem Footer entfernst ersparst dir mehr als du beim VMS optimieren kannst ;)

+



Aber mach die Counter raus die ziehen einiges insbesondere Losecounter.de werde zu Losecounter.de wohl gleich noch einen Thread machen :knueppel:

Hmm. Dabei haben die eine richtig gute Vergütung und sind nicht so störend wie bescheuerte Layer. Und Losecounter habe ich extra so in einem Frame gesteckt, sodass es nicht störend wirkt und wird somit ja nachgeladen.




Bettel-Pott ist tabellen Design
Urban-Klicker hat ein schönes div Design. Bei mir lädt dort jedoch nicht alles nach.

Hmm... naja, ist das nun gut, oder nicht^^ ?
Also bei mir es so, wenn ich die verschiedenen Menüpunkte anklicke (also auch die in dem linken Menü), dann "verschwindet" der Header unter dem Menü (mit den Mediadaten, etc.), linkes/rechtes Menü und taucht nach einer Sekunde wieder auf. Ich habe daraus geschlussfolgert, dass es neu geladen wird.

So sieht es z.B. immer für ca. 0,5 Sekunden aus, wenn ich einen Link anklicke:

http://www.myimg.de/?img=Unbenanntb4287.jpg

Gremlin
17.03.2010, 17:02
Du surfst ja auch im privaten Modus da ist Cache etc. deaktiviert.

D_Blade
17.03.2010, 17:05
Du surfst ja auch im privaten Modus da ist Cache etc. deaktiviert.

Hmm. Ich habe jetzt mal den privaten Modus abgeschaltet. Jetzt taucht dieses Phänomen nicht mehr so schnell auf, aber irgendwie ist es trotzdem vorhanden.
Wenn ich nun mit Firefox so durchklicke, dann geht es. Aber wenn man die Links ganz schnell hintereinander klickt, passiert es immernoch :-/

Dasselbe tritt auch bei Google Chrome auf :-S

Gremlin
17.03.2010, 17:09
Bei schnellem Klicken ist das relativ normal besonders bei langsamen Internetleitungen. Selbst ich merke das bei DSL 16k noch, aber nicht so extrem.

D_Blade
17.03.2010, 17:16
Ja gut. Das kann ich ja verstehen. Mein Internet ist ein wenig langsamer, aber der springende Punkt für mich ist, dass ich dasselbe auf Bettel-Pot anwenden kann und trotzdem dort nicht alles neu geladen wird, sondern eben nur der Content (und der Counter wird ständig neu geladen).

Das frustriert mich nämlich die ganze Zeit ein wenig =(
Liegt es daran, dass Urban-Klicker ein div und kein Tabellendesign hat?

Kraemer84
18.03.2010, 19:43
also kann nur den tipp geben alle grafiken selber auf den webspace zu laden (siehe bei mir den skycrapper und partner) und sonstige menüpunkte etc die von ausserhalb grafik benötigen entweder in einem neuen frame laden oder es im menüpunkt als letztes rechts unten anzeigen lassen

hat bei mir einiges an geschwindigkeit gebracht vorher hatte ich es nicht so und hatte wartezeiten von fast 10 sec pro seite o.O

D_Blade
18.03.2010, 20:24
Das habe ich doch?

Ich habe sogar die PNG-Dateien in Gif-Grafiken konvertiert und somit einiges an Speicher gewonnen.
(Ich rede immernoch von Urban-Klicker)

Mich stört es eben, dass es die Seite immer neu ladet anstatt nur den Content in der Mitte neu zuladen wenn ich schnell durch die Menüs klicke.

Kraemer84
18.03.2010, 20:30
hmm ok schonmal überlegt das komplette vms umzubauen das also der content jedesmal neu in einem frame geladen wird ??

also verlinkungen ändern wo du nicht mehr die url anklickst sondern den jeweiligen frame dazu, also hab sowas noch nicht getestet in verbindung mit vms aber hatte es schon auf anderen hp`s und da ging das eigentlich ganz gut da hab ich so ca fast alles in frames laufen lassen

denk mir halt bloss das es etwas aufwendig ist ansonsten würd mir einfallen mal die ganzen quelltexte durchsuchen ob da "sinnloses" noch herumschwirt ansonsten denk ich mal ist es egal ob table oder div

Masterphil
18.03.2010, 23:04
Also mal andersrum, du fragtest auch nach der Bettelseite, die Lösung dort ist es einfach die Menüs wegzulassen, dafür muss nur die bettel.php etwas abgespeckt werden, habe ich auf Autolose erfolgreich so im Einsatz, nur die Bettelfunktion selbst darf halt nicht entfernt werden sowie die verknüpfungen zur functions.lib und so.

Beim der ganzen Seite gibt es mehrere Lösungen, die auch schon angesprochen wurden.

Als erstes sind da die Frames/I-Frames, damit kann man wirklich wehr einfach per target andere Frames als Ziel bestimmen und somit das neuladen der ganzen Seite perfekt verhindern, jedoch müssen dabei Variablen korrekt übergeben werden was wohl das Problem ist.

Dann wäre da Ajax, kenne ich mich nicht weiter aus aber dürfte zumindest auf einen Bereich genaso wie Frames sein.

Auch gibt es JavaScripts die sowas können, diese müssten aber an das VMs seblst angepasst werden.

Zuletzt habe ich noch eine Idee, wie bei der Bettelseite einfach auch bei Bannern und allem was man oft Reloaded , einfach die Menüs weglassen, sie werden beim Bannerklicken etc. eh nicht gebraucht.

MfG

D_Blade
20.03.2010, 12:09
...

Hallo. Danke für die Antwort.
Nun die betteln.php kann eigentlich doch gar nicht abgespeckt werden, da dort ja nur die Bettelfunktion und die Verbindung zur lib ist?

Aber letzteres, was du angesprochen hast, habe ich gesucht :D
Wie kann man Header, Menü, etc. weglassen, aber dennoch als eine Bettelseite von einer Seite erkenntlich bleibt?

jpwfour
20.03.2010, 13:12
Die Änderung dazu müsste man schon in der index.php machen, dort wird ja

require ( './lib/header.php' );
require ( './content'.$_GET['content'].'.php' );
require ( './lib/footer.php' );

Header etc eingebunden, da einfach ne if Abfrage vor auf $_GET['content'], im Falle von /betteln was anderes einbinden (dran denken, dass in der Datei dann functionslib etc was halt in der header oben drin is, auch wieder rein muss)

Masterphil
21.03.2010, 12:30
Hier mal meine bettel.php ohne Menüs aber mit Header.



<?

// SecVMS change begin
$_GET['ref'] = (int)$_GET['ref'];
// SecVMS change end

$reloadcheck = db_query("SELECT * FROM ".$db_prefix."_reloads WHERE ip = '".$ip."' and tan = 'bettelaufruf' and bis >= '".time()."'");
if (!mysql_num_rows($reloadcheck)) {
$minimum = $pageconfig['min_betteln'];
$maximum = $pageconfig['max_betteln'];
srand((double)microtime()*1000000);
$bettelsumme = rand($minimum*100,$maximum*100)/100;
// Reload setzen und Umsätze schreiben
$new_reload = time()+$pageconfig['reload_betteln'];
db_query("INSERT INTO ".$db_prefix."_reloads (ip,uid,tan,bis) VALUES ('".$ip."','".$_GET['ref']."','bettelaufruf','".$new_reload."')");
db_query("UPDATE ".$db_prefix."_kontodaten SET angebettelt =angebettelt + 1, bv = bv + ".$bettelsumme." WHERE uid = '".$_GET['ref']."'");
kontobuchung ('+',$bettelsumme,$_GET['ref']);
refumsatz ($bettelsumme,$_GET['ref']);
bettelralley ($_GET['ref']);
aktivpunkte (1,$_GET['ref']);
$betteltext = '<b>Du hast für den User '.$_GET['ref'].' gerade '.$bettelsumme.' '.$waehrung.' erbettelt!</b>';
} else {
$reloadcheck = mysql_fetch_array($reloadcheck);
$betteltext = '<b><font color="#FF0000">Du bist noch für '. round((($reloadcheck['bis'] - time())/60),0) .' Minuten fürs Betteln gesperrt</font></b>';
}
?>

<?head("Betteln");?>
Verdiene auch Du Lose im Schlaf, mit unserem neuen Zinssystem das keine Aktivität erfordert!
Melde Dich bei uns an und bewirb Deinen persönlichen Bettellink, klicke Banner & Links und bestätige hochvergütete Paidmails, so verdienst auch Du deine Lose wie im Schlaf!<br>
<br>
<div align="center"><?=$betteltext;?></div>
<?foot();?>

<?head("Werbung dieser Seite");
$filename = 'lib/texte/bettelwerbung.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);
echo nl2br($inhalt);
foot();?>


Was ich da genau gemacht habe, weiß ich aber nicht mehr.
Achso, es ist bei mir fürs VMS 1.1.

MfG

D_Blade
21.03.2010, 22:09
Wenn ich mich nicht täusche, dann sieht meine betteln.php ein wenig abgespeckter aus ;)

Und das bei VMS 1.2



<?
$_GET['ref'] = (int)$_GET['ref'];


if ($pageconfig['reload_betteln'] == 0){
$betteltext = '<b>Die Bettelfunktion ist auf dieser Seite deaktiviert';
}else{
if ($_SESSION['uid'] == $_GET['ref'] || $_GET['ref'] == $_COOKIE['uid']){
$betteltext = '<b><font color="#FF0000">Du kannst dich nicht selbst anbetteln!</font></b>';
}else{
$new_reload =
$_SESSION['betteldelay'] = time() + 2;
$doload = true;
$betteltext = '<b><font color="#FF0000">Bitte warte ein paar Sekunden bis die Verg&uuml;tung erfolgt ist.</font></b>';
}
}
?>

<?head("Betteln auf ".$seitenname);?>
Verdiene auch Du mit!<br>
Melde Dich bei <?=$seitenname;?> an und bewirbe Deinen pers&ouml;nlichen Bettellink, so
verdienst Du Deine <?=$waehrung;?> fast wie im Schlaf!<br>
<br>
<div align="center" id="betteltext"><?=$betteltext;?></div>


foot();

$filename = 'lib/texte/bettelwerbung.txt';
$fp = fopen ($filename, "r");
$inhalt = fread ($fp, filesize ($filename));
fclose ($fp);
$inhalt = str_replace('\\', '', $inhalt);

if ($inhalt != ''){
head("Werbung dieser Seite");
echo nl2br($inhalt);
foot();
}
?>

didith1207
22.03.2010, 06:27
da du ja fast eine reine bettelseite betreibst könntest du dir auch eine Menge traffik sparen wenn du nur User aus De,At und CH die werbung zeigst ;) als anregung meine angepasste bettel müßtest halt noch modifizieren ;)

http://www.designerscripte.net/showpost.php?p=72627&postcount=4

D_Blade
22.03.2010, 15:40
da du ja fast eine reine bettelseite betreibst könntest du dir auch eine Menge traffik sparen wenn du nur User aus De,At und CH die werbung zeigst ;) als anregung meine angepasste bettel müßtest halt noch modifizieren ;)

http://www.designerscripte.net/showpost.php?p=72627&postcount=4

Hallo,

ja das wollte ich auch noch machen, nachdem ich das "Design" für die gebettelte Seite angepasst habe :biggrin1:
Denn deinen Beitrag habe ich lange bei mir schon als Lesezeichen gespeichert :wink:

auron2008
12.04.2010, 22:39
Da wir gerad beim optimieren sind *gg* , wäre es nich sinnvoll dasTabellenformat von vms_gebuchte_werbung auf MEMORY zu stellen ? soweit ich das verstehe wird da der ganze inhalt in dem ram gespeichert, wodurch es ja schneller abgefragt werden kann. Ein ausfall sollte da ja auhc nich so schlimm sein, weil ja in regelmäßigen abständen die werbung eingelesen wird.

jpwfour
13.04.2010, 10:48
Solange nix gespeichert wird, was "dauerhaft" sein muss, ja, dann ist es sinnvoll.

Dauerhaft wichtig könnte sein:
- Kampagnen die deine User im WMS buchen
- Blacklist (Kampagnen mit status=2)
- Adminkampagnen
- ....

Könnte man natürlich auch lösen, indem man solche Kampagnen in extra Tabellen ablegt. Wobei diese Tabelle bei guten Indizes eine der weniger problematischen sein sollte, wenn dann eher die realod Tabellen oder buchungslisten etc.

auron2008
13.04.2010, 10:53
Ach ^^ an sowas hab ich gar nich gedacht das da auch wichtiges drinne steht ^^ Aber gut das de es gesgat hast, sonst hätt ich die tabelle in ram gelegt ^^ .