• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Pop Up auf der Startseite nur einmal Laden

exaxxio

New member
Guten Tag,

ich würde gerne ein Pop auf der Startseite anzeigen lassen. Soweit bin ich nun auch gekommen, aber mit der Funktion onload wird dieses Popup zu häufig zu häufig neu geladen.
Also müsste ich wohl noch einen Cookie oder so ähnlich setzen, allerdings kenne ich mich damit nicht wirklich aus. Hat jemand vielleicht einen Tipp für mich?



Code:
<!-- Popupfunktion test -->

<?php 
session_start(); 
if( ! isset($_SESSION['popupShown']) ) { 
  $body -> addAttribute('onload','test_off()'); 
  $_SESSION['popupShown'] = true; 
} 
?>




{literal}
<script type="text/javascript">
function test_on() {
if(document.getElementById)
document.getElementById("label-test").style.display = "block";
document.getElementById("popup-test").style.display = "none";
}
function test_off() {
if(document.getElementById)
document.getElementById("label-test").style.display = "none";
document.getElementById("popup-test").style.display = "block";
}
</script>

{/literal}


<div id="popup-test" class="popup-test">
<a style="float:right" onload="javascript: test_on();" href="">[x]</a>





<body onLoad="test_off()">





<h1>Jetzt kostenlos Katalog "shogazi ® Collection" / TOP 100 Schlafraummöbel anfordern!</h1>
<p></p><table cellspacing="20" cellpadding="20" border="0" style="width: 525px;" height:"500px;">
<tbody>
<tr>
<td><a title="shogazi ® Katalog " href="../images/content/katalog/betten_matratzen_schlafsofa_katalog_shogazi_collection_2013.pdf">
<p style="text-align: center;"><img src="../images/content/katalog/shogazi_kollection_betten_matratzen.jpg" border="0" alt="Betten, Matratzen und Schlafsofakatalog" title="Betten, Matratzen und Schlafsofakatalog" width="115" height="163" /></p>
</a></td>
<td>
<div style="text-align: justify;">JA, ich möchte die aktuelle Ausgabe des Katalogs TOP 100 SCHLAFRAUMMÖBEL   "shogazi® Collection" Katalog kostenfrei per Post erhalten. Einfach Formular   ausfüllen und morgen (meistens) ist er bereits bei Ihnen.</div>
<br />Alternativ können Sie unseren Katalog auch als PDF downloaden:<br /><br /> <a title="shogazi Katalog downloaden" href="../images/content/katalog/katalog_shogazi-collection_2011.pdf" target="_blank"><img src="../images/icons/pdficon.png" border="0" alt="shogazi Katalog downloaden" title="shogazi ® Collection Katalog PDF Download" width="15" height="15" /></a> <a title="shogazi Katalog downloaden" href="../images/content/katalog/betten_matratzen_schlafsofa_katalog_shogazi_collection_2013.pdf" target="_blank">"shogazi ® Collection" Katalog (9,6 MB)</a></td>
</tr>
</tbody>
</table><p></p>
<form method="post" action="https://www.shogazi.de/shop_content.php?action=send&coID=39" id="contact_us">

<div class="legend">Ihre Adressdaten:</div>

<div class="boxForm"><label><span id="r_txt_Vorname_txt">Vorname: &nbsp&nbsp&nbsp&nbsp&nbsp*</span></label><input type="text" id="r_txt_Vorname" name="r_txt_Vorname"></div>
<div class="boxForm"><label><span id="r_txt_Nachname_txt">Nachname: &nbsp*</span></label><input type="text" id="r_txt_Nachname" name="r_txt_Nachname"></div>
<div class="boxForm"><label><span id="r_txt_Strasse_txt">Strasse, Nr.: *</span></label><input type="text" id="r_txt_Strasse" name="r_txt_Strasse"></div>
<div class="boxForm"><label><span id="r_txt_PLZ_txt">PLZ: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp *</span></label><input type="text" id="r_txt_PLZ" name="r_txt_PLZ"></div>
<div class="boxForm"><label><span id="r_txt_Ort_txt">Ort: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp*</span></label><input type="text" id="r_txt_Ort" name="r_txt_Ort"></div>
<div class="boxForm"><label><span id="r_sel_Land_txt">Land:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp *</span></label><select style="width:130px;" name="r_sel_Land"><option value="Deutschland">Deutschland</option><option value="Oesterreich">Österreich</option><option value="Schweiz">Schweiz</option><option value="Restliche EU">Restliche EU</option></select></div>
<div class="boxForm"><label><span id="n_mal_E-Mail_txt">E-Mail:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</span></label><input type="text" id="n_mal_E-Mail" name="n_mal_E-Mail"></div>



<br><br>
<div id="bottombtnLeft"><input type="image" title=" Weiter " alt="Weiter" src="templates/shogazi_0901/buttons/german/button_send_message.gif"></div>
</form>
</div>


<div id="label-test" class="label-test" onload="javascript: test_off();"></div>




<body onLoad="test_off()">
 
1. Wie oft willst du denn onload noch setzen? Du hast es im <a>, zweimal im <body>, im PHp-Skript, ...
Da ist es doch völlig klar, dass es auch mehrmals erscheint...

2. Dein HTML ist absolut invalide! Bspw. hat ein Dokument nie(!!!) zwei <body> Tags! Generell finde ich das ganze Dokument schrecklich ;)

3. Wofür ist
PHP:
session_start(); 
if( ! isset($_SESSION['popupShown']) ) { 
  $body -> addAttribute('onload','test_off()'); 
  $_SESSION['popupShown'] = true; 
}
gut? Meiner Ansicht nach völlig unnötig - ein korrekt gesetztes onload wird genau einmal(!) ausgeführt... Das würde nur etwas bringen, wenn du willst, dass nicht bei jedem Besuch der Startseite das "Popup" angezeigt wird.

4. Ins onload gehört nur der Funktionsaufruf!
Code:
onload="test_on();"
//und nicht:
onload="javascript: test_on();"

5. Das ist jetzt aber nicht dein Ernst!?
HTML:
<span id="n_mal_E-Mail_txt">E-Mail:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</span>
Erst einmal wird korrekt nbsp; verwendet. Dann gibt es elegantere Arten, die Eingabefelder in gleichen Abstand zu bringen.
 
Hallo Julian,

und danke ersteinmal.

Wofür der Code unter 3.ten relevant bin ich mir nicht sicher, ich habe mir viele Dinge zusammenkopiert.

Tja ich kenne leider keine alternative ausser nbsp;

Ich habe nun mal den Code angepasst, wie du es vorschlägst.


PHP:
<!-- Wird gelöscht wenn es keine verwendung gibt!

<?php 
session_start(); 
if( ! isset($_SESSION['popupShown']) ) { 
  $body -> addAttribute('onload','test_off()'); 
  $_SESSION['popupShown'] = true; 
} 
?>


-->



{literal}
<script type="text/javascript">
function test_on() {
if(document.getElementById)
document.getElementById("label-test").style.display = "block";
document.getElementById("popup-test").style.display = "none";
}
function test_off() {
if(document.getElementById)
document.getElementById("label-test").style.display = "none";
document.getElementById("popup-test").style.display = "block";
}
</script>

{/literal}


<div id="popup-test" class="popup-test">
<a style="float:right" onload="javascript: test_on();" href="">[x]</a>


<!-- Aufruf beim Laden der Seite -->

<body onLoad="test_off()"> 



<!-- Inhalt des Pop Ups -->

<h1>Jetzt kostenlos Katalog "shogazi ® Collection" / TOP 100 Schlafraummöbel anfordern!</h1>
<p></p><table cellspacing="20" cellpadding="20" border="0" style="width: 525px;" height:"500px;">
<tbody>
<tr>
<td><a title="shogazi ® Katalog " href="http://forum.jswelt.de/images/content/katalog/betten_matratzen_schlafsofa_katalog_shogazi_collection_2013.pdf">
<p style="text-align: center;"><img src="http://forum.jswelt.de/images/content/katalog/shogazi_kollection_betten_matratzen.jpg" border="0" alt="Betten, Matratzen und Schlafsofakatalog" title="Betten, Matratzen und Schlafsofakatalog" width="115" height="163" /></p>
</a></td>
<td>
<div style="text-align: justify;">JA, ich möchte die aktuelle Ausgabe des Katalogs TOP 100 SCHLAFRAUMMÖBEL   "shogazi® Collection" Katalog kostenfrei per Post erhalten. Einfach Formular   ausfüllen und morgen (meistens) ist er bereits bei Ihnen.</div>
<br />Alternativ können Sie unseren Katalog auch als PDF downloaden:<br /><br /> <a title="shogazi Katalog downloaden" href="http://forum.jswelt.de/images/content/katalog/katalog_shogazi-collection_2011.pdf" target="_blank"><img src="http://forum.jswelt.de/images/icons/pdficon.png" border="0" alt="shogazi Katalog downloaden" title="shogazi ® Collection Katalog PDF Download" width="15" height="15" /></a> <a title="shogazi Katalog downloaden" href="http://forum.jswelt.de/images/content/katalog/betten_matratzen_schlafsofa_katalog_shogazi_collection_2013.pdf" target="_blank">"shogazi ® Collection" Katalog (9,6 MB)</a></td>
</tr>
</tbody>
</table><p></p>
<form method="post" action="https://www.shogazi.de/shop_content.php?action=send&coID=39" id="contact_us">

<div class="legend">Ihre Adressdaten:</div>

<div class="boxForm"><label><span id="r_txt_Vorname_txt">Vorname: &nbsp&nbsp&nbsp&nbsp&nbsp*</span></label><input type="text" id="r_txt_Vorname" name="r_txt_Vorname"></div>
<div class="boxForm"><label><span id="r_txt_Nachname_txt">Nachname: &nbsp*</span></label><input type="text" id="r_txt_Nachname" name="r_txt_Nachname"></div>
<div class="boxForm"><label><span id="r_txt_Strasse_txt">Strasse, Nr.: *</span></label><input type="text" id="r_txt_Strasse" name="r_txt_Strasse"></div>
<div class="boxForm"><label><span id="r_txt_PLZ_txt">PLZ: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp *</span></label><input type="text" id="r_txt_PLZ" name="r_txt_PLZ"></div>
<div class="boxForm"><label><span id="r_txt_Ort_txt">Ort: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp*</span></label><input type="text" id="r_txt_Ort" name="r_txt_Ort"></div>
<div class="boxForm"><label><span id="r_sel_Land_txt">Land:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp *</span></label><select style="width:130px;" name="r_sel_Land"><option value="Deutschland">Deutschland</option><option value="Oesterreich">Österreich</option><option value="Schweiz">Schweiz</option><option value="Restliche EU">Restliche EU</option></select></div>
<div class="boxForm"><label><span id="n_mal_E-Mail_txt">E-Mail:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</span></label><input type="text" id="n_mal_E-Mail" name="n_mal_E-Mail"></div>



<br><br>
<div id="bottombtnLeft"><input type="image" title=" Weiter " alt="Weiter" src="templates/shogazi_0901/buttons/german/button_send_message.gif"></div>
</form>
</div>


<div id="label-test" class="label-test" onload="javascript: test_off();"></div>


Wäre es so in Ordnung, ich habe es nämlich probiert und es funkioniert nicht
 
Zuletzt bearbeitet von einem Moderator:
Folgendermaßen: möchtest du, dass das PopUp jedes mal genau einmal erscheint, wenn man die Startseite aufruft, oder möchtest du, dass wenn einmal das Popup erschienen ist, und man dann wieder die Startseite besucht, dass es nicht noch einmal angezeigt wird?
 
Was sollen denn diese elend langen   Ketten? Es gibt übrigens CSS, damit kann man Seiten gestalten :)
Der Code ist auch ansonsten grausam, weil kein bisschen strukturiert. Wer soll sich das antun?

ich habe es nämlich probiert und es funkioniert nicht
Was ist das denn für eine Fehlerbeschreibung?
 
Zuletzt bearbeitet:
@ Julian: Ich würde das Pop Up gerne einmal am Tag und Besucher anzeigen lassen.

@Mikdoe: Hast ja recht aber aller Anfang ist schwer!
 
@julian oh Klasse vielen dank.

Nur wie baue ich dieses Scribt nun auf meine Seite.
Vorher hatte ich halt alles in der index.html aber mit dem php-code geht das glaube ich nicht?
 
Nur wie baue ich dieses Scribt nun auf meine Seite.
Vorher hatte ich halt alles in der index.html aber mit dem php-code geht das glaube ich nicht?

Du baust einfach dein ganzes Zeug zwischen <body> und </body> ein. Also
PHP:
<body<?php if($ads_shown !== true){ echo" onload=\"show_advertisement('banner', 'Jetzt Werbung anschauen!');\""; } ?>>

  <h1>Werbebanner nur einmal täglich anzeigen</h1>
  
  <div id="banner" style="display:none">
<h1>Jetzt kostenlos Katalog "shogazi ® Collection" / TOP 100 Schlafraummöbel anfordern!</h1>
<p></p><table cellspacing="20" cellpadding="20" border="0" style="width: 525px;" height:"500px;">
<tbody>
<tr>
<td><a title="shogazi ® Katalog " href="http://forum.jswelt.de/images/content/katalog/betten_matratzen_schlafsofa_katalog_shogazi_collection_2013.pdf">
<p style="text-align: center;"><img src="http://forum.jswelt.de/images/content/katalog/shogazi_kollection_betten_matratzen.jpg" border="0" alt="Betten, Matratzen und Schlafsofakatalog" title="Betten, Matratzen und Schlafsofakatalog" width="115" height="163" /></p>
</a></td>
<td>
<div style="text-align: justify;">JA, ich möchte die aktuelle Ausgabe des Katalogs TOP 100 SCHLAFRAUMMÖBEL   "shogazi® Collection" Katalog kostenfrei per Post erhalten. Einfach Formular   ausfüllen und morgen (meistens) ist er bereits bei Ihnen.</div>
<br />Alternativ können Sie unseren Katalog auch als PDF downloaden:<br /><br /> <a title="shogazi Katalog downloaden" href="http://forum.jswelt.de/images/content/katalog/katalog_shogazi-collection_2011.pdf" target="_blank"><img src="http://forum.jswelt.de/images/icons/pdficon.png" border="0" alt="shogazi Katalog downloaden" title="shogazi ® Collection Katalog PDF Download" width="15" height="15" /></a> <a title="shogazi Katalog downloaden" href="http://forum.jswelt.de/images/content/katalog/betten_matratzen_schlafsofa_katalog_shogazi_collection_2013.pdf" target="_blank">"shogazi ® Collection" Katalog (9,6 MB)</a></td>
</tr>
</tbody>
</table><p></p>
  </div>



<form method="post" action="https://www.shogazi.de/shop_content.php?action=send&coID=39" id="contact_us">

<div class="legend">Ihre Adressdaten:</div>

<div class="boxForm"><label><span id="r_txt_Vorname_txt">Vorname: &nbsp&nbsp&nbsp&nbsp&nbsp*</span></label><input type="text" id="r_txt_Vorname" name="r_txt_Vorname"></div>
<div class="boxForm"><label><span id="r_txt_Nachname_txt">Nachname: &nbsp*</span></label><input type="text" id="r_txt_Nachname" name="r_txt_Nachname"></div>
<div class="boxForm"><label><span id="r_txt_Strasse_txt">Strasse, Nr.: *</span></label><input type="text" id="r_txt_Strasse" name="r_txt_Strasse"></div>
<div class="boxForm"><label><span id="r_txt_PLZ_txt">PLZ: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp *</span></label><input type="text" id="r_txt_PLZ" name="r_txt_PLZ"></div>
<div class="boxForm"><label><span id="r_txt_Ort_txt">Ort: &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp*</span></label><input type="text" id="r_txt_Ort" name="r_txt_Ort"></div>
<div class="boxForm"><label><span id="r_sel_Land_txt">Land:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp *</span></label><select style="width:130px;" name="r_sel_Land"><option value="Deutschland">Deutschland</option><option value="Oesterreich">Österreich</option><option value="Schweiz">Schweiz</option><option value="Restliche EU">Restliche EU</option></select></div>
<div class="boxForm"><label><span id="n_mal_E-Mail_txt">E-Mail:&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</span></label><input type="text" id="n_mal_E-Mail" name="n_mal_E-Mail"></div>



<br><br>
<div id="bottombtnLeft"><input type="image" title=" Weiter " alt="Weiter" src="templates/shogazi_0901/buttons/german/button_send_message.gif"></div>
</form>
</div> 
 
 </body>
</html>

@julian oh Klasse vielen dank.
Gern geschehen!


PS: evtl. musst du die Datei in index.php umbenennen.
 
Zuletzt bearbeitet von einem Moderator:
Vielen Dank Julian,

leider funktioniert das wohl doch nicht so einfach, weil das CMS - XTcommerce 3.1 keinen eindeutigen Bodytag zur Verfügung stellt.
Aber das kriege ich noch raus, es sei denn du kennst dich damit zufälligerweise aus?!!

Es sei den ich könnte aus dem Headbereich in der Index.html deinen Code als externe Datei oder so ähnlich aufrufen lassen.

Wenn das gehen würde, wie müsste dann der Aufruf für deinen Code aussehen?
 
Zurück
Oben