• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Layer Popup

stenz

Mitglied
Hi,
wie kriegt man am besten einen Layer Popup hin?
Anwendungsgebiet: Falls eine Session Variable in PHP nicht besetzt ist, sodass ein Layer PopUp erscheint.

Gruß
Stenz
 
Werbung:
Werbung:
Ok, sorry, zB bei GROUPON - Gutschein Deal: 70% Rabatt für Restaurant, Wellness, Sport uvm.
wenn man seine Cookies und Cache alles löscht, hat ja der Server von Groupon keine Informationen mehr, aus welcher Stadt der User kommt.
Dann erscheint eben dieser Layer PopUp, wo man dann seine Stadt aussuchen soll.
Siehe Bild
http://imageshack.us/f/19/16189642.png/

Hoffe das man diesmal versteh was ich meine :D
Das man das mit einer IF Anweisung per PHP überprüfen kann ist mir klar.
PHP:
<?php
            $stadt= $_SESSION['stadt'];

            if ($stadt== "") {
                echo "Stadt aussuchen"; // Hier soll dann der Code für dieses LayerPopUp sein
            }
        ?>
gruß
stenz
 
naja... du musst doch nur eine Absolute Ebene mit 100% höhe und breite definieren, die einen unglaublich hohen z-index hat... da setzt du dann ein teilweise Durchsichtiges Bild in den BG. (mit gimp ein kleines bild erstellen und dann die transparenz auf deine gewüschte prozentzahl stellen)
zu schluss erstellst du dann wie die Seite im hintergrund ein Fenster, in dem dann das Dropdownmenue zum stadtwählen drin ist.

den code dafür fügst du dann einfach in deinen echo""; ein und fertig ;)

hoffe ich konnte helfen... wenns ne einfachere methode gibt, würd ich sie auch gern wissen... mach das bis jetz immer so ^^
 
Ok, habs verstanden.
Hab jetzt glaub ich ein Problem, welches sicher schon öfters vorkam.
Nämlich hab ich wie oben beschrieben auch dieses Dropdownmenü gemacht, falls keine Stadt ausgewählt wurde.
Es klappt auch das ich die Stadt aussuchen kann und das der Server das auch mitbekommt.
Jedoch beim Reload der Seite, vergisst mein Code die Auswahl und die Leier geht von vorne los.

PHP:
<?php
            $stadt= $_GET['stadt']; 
            $_SESSION['stadt'] = $ilce;
            
            if ($stadt== "") {
                echo "Stadt aussuchen";
                echo "<form action='' method='get'>";
                    echo "<select name='stadt'>";
                        echo "<option value='berlin'>Berlin</option>";
                        echo "<option value='brandenburg'>Brandenburg</option>";
                        echo "<input type='submit' name='' />";
                    echo "</select>";
                echo "</form>";
            }
            else {echo $stadt;}
        ?>
ob POST oder GET macht kein Unterschied, die gleiche Geschichte.

gruß stenz
 
Werbung:
Du musst natürlich nach dem Abschicken des Formulars den Wert, der vom Dropdown kommt, prüfen und in die Session abspeichern. Machst du das? Der Code dieser Routine ist wichtig, poste den bitte mal =)
 
Meinst du sowas?
PHP:
        <?php
            $stadt= $_POST['stadt'];
            if(!isset($stadt)){
                $stadt= "";
            }
            $_SESSION['stadt'] = $stadt;
            
            if ($stadt== "") {
                echo "Stadt aussuchen";
                echo "<form action='' method='post'>";
                    echo "<select name='stadt'>";
                        echo "<option value='berlin'>Berlin</option>";
                        echo "<option value='brandenburg'>Brandenburg</option>";
                        echo "<input type='submit' name='' />";
                    echo "</select>";
                echo "</form>";
            }
            else {echo $stadt;}
        ?>

Ich verstehs echt nicht mehr, wenn ich eine andere Seite bei "form action" aufrufe mit dem Code und von der Seite wieder auf die Seite mit dem Form wechsel per Link,
ist die Variable verschwunden. :S
PHP:
		<?php
			$stadt= $_POST['stadt'];
			if(!isset($stadt)){
				$stadt= "";
			}
			$_SESSION['stadt'] = $stadt;
        ?>
<a href="index.php">abc</a>
 
Erstens musst du die Session erstmal mit session_start(); initialisieren.

Zweitens ist deine Prüfung falsch:
PHP:
$stadt = $_POST['stadt'] // was ist, wenn $_POST['stadt'] nicht gesetzt ist?
if(!isset($stadt)){ // $stadt ist immer gesetzt, weil du es oben setzt!
   $stadt= "";
}

Wie wärs lieber mit:
PHP:
<?php
session_start();

if(isset($_POST['stadt']) && $_POST['stadt'] > '') $_SESSION['stadt'] = $_POST['stadt'];

?>
 
Werbung:
index.php
PHP:
<?php
    session_start();
?>
<!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">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" type="text/css" href="form.css"/>
        <script src="plugins/jquery.js"></script>
        <title>Kupon</title>
    </head>
    <body>
        <?php
            $ilce = $_POST['ilce'];
                if(isset($_POST['ilce']) && $_POST['ilce'] > '') $_SESSION['ilce'] = $_POST['ilce'];
            $_SESSION['ilce'] = $ilce;
            
            if ($ilce == "") {
                echo "İlçe seçiniz";
                echo "<form action='' method='post'>";
                    echo "<select name='ilce'>";
                        echo "<option value='adalar'>Adalar</option>";
                        echo "<option value='arnavutköy'>Arnavutköy</option>";
                        echo "<input type='submit' name='' />";
                    echo "</select>";
                echo "</form>";
            }
            else {echo $ilce;}
        ?>
        <a href="newsletter.php">Kupon</a>
    </body>
</html>
newsletter.php
PHP:
<?php
    session_start();    
?>
<!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">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Kupon</title>
    </head>
    
    <body>
        <?php
            $ilce = $_POST['ilce'];
            if(!isset($ilce)){
                $ilce = "";
            }
            $_SESSION['ilce'] = $ilce;
            $ilce = $_SESSION['ilce'];
            echo $ilce;            
        ?>
        <a href="index.php">Kupon</a>
    </body>
</html>
Hoffe das man mir jetzt besser helfen kann
 
Zuletzt bearbeitet:
HABE ES GELÖST
War doch irgendwie gestern durch den Wind. :) Also es war doch irgendwie dumm jedesmal, $_SESSION['xyz'] mit der POST Variable zu verbinden, denn beim wechsel der Seiten, sowie neu nachladen wurde ja kein POST verwendet. Mein Lösung sieht so aus.
1. Überprüfen, ob die Variable $_SESSION['xyz'] überhaupt existiert und ob es ein Inhalt anzubieten. (Danke an Trimmer)
Falls ja, dann wurde nichts eingeblendet, falls $_SESSION['xyz'] nicht besetzt war wurde.
2. $_SESSION['xyz'] = $_POST['xyz'] und ein entsprechendes Formular eingeblendet.

Code
PHP:
        <?php
            if(isset($_SESSION['userName']) && $_SESSION['userName'] > ''){
                echo "<P>Hallo " . $_SESSION['userName'] . ",";
            } 
            else {
                $_SESSION['userName'] = $_POST['username'];
                echo "<P>Hallo " . $_SESSION['userName'] . ",";
                
                echo "<form action='' method='post'>";
                    echo "<input type='text' name='username' />";
                    echo "<input type='submit' name='' />";
                echo "</form>";    
            }
        ?>
 
Habe mich wohl zu früh gefreut wie ich jetzt sehe, wird beim betätigen des Submits, das Formular nicht geschlossen, erst beim wiederholten senden des Formulars, wird das Formular geschlossen.
Seht selbst. :)
Kupon
 
Werbung:
Zurück
Oben