nejoe91: PHP Variable an POP-UP übergeben

Hallo zusammen,

habe mich grade angemeldet, weil google mir keine zufriedenstellende Antwort gibt.

Ich bin blutiger Anfänger und muss in meiner Ausbildung mehrere Aufgaben meistern.
Hilfe ist mir gegönnt.

Zum Problem:
Ich soll eine Tabelle erstellen die auf die Datenbank zugreift. Soweit klappt es. Wenn ich ein Button anklicke, soll ein Pop Up Fenster öffnen, in dem ich die Adressen zu den Kunden verwalten kann, den ich gewählt habe. Hier zu muss ich die Kunden Nr irgendwie in das Pop-Up übertragen und dann mit einer mySql Abfrage die dazugehörige Adresse anzeigen, löschen oder hinzufügen.

Mir würde es reichen wenn Ihr mir helfen würdet, die Variable $Knr = $_POST["KNr"]; in das Pop Up zu übertragen.

  1. <?php  
    while ($zeile = mysql_fetch_array($db_erg, MYSQL_ASSOC))  
    {  
    	$sql = "SELECT * FROM azubi.Kunden";  
    	echo "<tr><th>".$zeile['KNr']."</th>";  
    	echo "	  <th>".$zeile['Vorname']."</th>";  
    	echo "	  <th>".$zeile['Nachname']."</th>";  
    	echo "<th>";	  
    	?>  
    	<th>  
    		<a href="popup.php?id=$id" target="_blank" onclick="return popup(this.href,'id');">  
    		<input type="Submit" value="Adressen">  
    		</a>  
    	</th>  
    	<?php  
    	echo "</th></tr>";  
    }?>  
    
    
    1. <html>  
      	<head>  
      		<title>Datenbank</title>  
      		<script type="text/javascript">  
      			function popup (url, ID) {  
      			 fenster = window.open(url, "Adressen", "width=400,height=300,resizable=yes");  
      			 fenster.focus();  
      			 return false;  
      			}  
      		</script></html>  
      	</head>	
      
    2. Moin,

      <a href="popup.php?id=$id" target="_blank" onclick="return popup(this.href,'id');">

      Du scheinst wenig Ahnung von dem zu haben was du tust. Wenn du einen Parameter an die Zieldatei übergibst (id), dann kannst du doch einfach auch noch einen zweiten übergeben:

      <a href="popup.php?id=$id&amp;knr=$knr" target="_blank" onclick="return popup(this.href,'id');">

      Grüße Marco

      1. Gut erkannt :D,
        Danke schön

        Moin,

        Du scheinst wenig Ahnung von dem zu haben was du tust. Wenn du einen Parameter an die Zieldatei übergibst (id), dann kannst du doch einfach auch noch einen zweiten übergeben:

        Grüße Marco

      2. Hi,

        Wenn du einen Parameter an die Zieldatei übergibst (id), dann kannst du doch einfach auch noch einen zweiten übergeben:

        <a href="popup.php?id=$id&amp;knr=$knr" target="_blank" onclick="return popup(this.href,'id');">

        das kann man natürlich tun, keine Frage. Aber warum sollte man die Stringkonstante 'id' im Javascript-Aufruf übergeben wollen?

        Ciao,
         Martin

        --
        TEAM: Toll, Ein Anderer Macht's.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Moin,

          das kann man natürlich tun, keine Frage. Aber warum sollte man die Stringkonstante 'id' im Javascript-Aufruf übergeben wollen?

          Logisch kann ich das auch nicht erklären. Für mich klingt das alles sowieso eher nach "ich komm bei meinen Hausaufgaben nicht weiter, die ich per Copy&Paste aus dem Internet habe"...

          Grüße Marco

          1. Für mich klingt das alles sowieso eher nach "ich komm bei meinen Hausaufgaben nicht weiter, die ich per Copy&Paste aus dem Internet habe"...

            Leute es klappt alles, ich danke euch!

            Gruß,
            nejoe

  2. Moin,

    Mir würde es reichen wenn Ihr mir helfen würdet, die Variable $Knr = $_POST["KNr"]; in das Pop Up zu übertragen.

    Wie sieht denn dein Code für das Aufrufen des Pop-Ups aus? Du rufst sicherlich eine PHP-Datei auf. An die hängst du einfach den entsprechenden Parameter ran:

    print '<a target="_blank" href="example.php?knr='.$knr.'">Popup-Link</a>';

    Beachte den Kontextwechsel, damit du eine SQL-Injection verhinderst!

    -> Kontextwechsel
    -> mysql_real_escape_string()

    Grüße Marco

    1. Hab mein JavaScribt eben gepostet, ich probier es eben.. Danke schonmal

      Moin,

      Mir würde es reichen wenn Ihr mir helfen würdet, die Variable $Knr = $_POST["KNr"]; in das Pop Up zu übertragen.

      Wie sieht denn dein Code für das Aufrufen des Pop-Ups aus? Du rufst sicherlich eine PHP-Datei auf. An die hängst du einfach den entsprechenden Parameter ran:

      print '<a target="_blank" href="example.php?knr='.$knr.'">Popup-Link</a>';

      Beachte den Kontextwechsel, damit du eine SQL-Injection verhinderst!

      -> Kontextwechsel
      -> mysql_real_escape_string()

      Grüße Marco

  3. Tach!

    habe mich grade angemeldet, weil google mir keine zufriedenstellende Antwort gibt.

    Anmelden musst du dich für die nutzung dieses Forums gar nicht. Die Anmaeldung hat nur dann einen Vorteil, wenn du regelmäßig herkommst und Aussehen und Funktionalität des Forums nach deinen Wünschen anpassen möchtest.

    Ich soll eine Tabelle erstellen die auf die Datenbank zugreift. Soweit klappt es.

    Ach. Eigentlich sind die Zusammenhänge anders. Man greift auf die Datenbank zu und erstellt aus den Daten eine Tabelle.

    Wenn ich ein Button anklicke, soll ein Pop Up Fenster öffnen, in dem ich die Adressen zu den Kunden verwalten kann, den ich gewählt habe. Hier zu muss ich die Kunden Nr irgendwie in das Pop-Up übertragen und dann mit einer mySql Abfrage die dazugehörige Adresse anzeigen, löschen oder hinzufügen.

    Dann musst du dem Button die entsprechenden Daten mitgeben. Den Value zu ändern geht nicht in jedem Fall. Aber du kannst den Namen anpassen: name[id]. Damit ergibt sich bei einer Kontrollausgabe von $_POST sinngemäß

    array(1) {
      ["name"]=>
      array(1) {
        ["id"]=>
        string(3) "value"
      }
    }

    Du brauchst nun das, was anstelle von id bei dir ankommt. $_POST['name'] ist ja ein Array und du musst den Key des ersten Elements extrahieren. Das macht die Funktion key().

    Mir würde es reichen wenn Ihr mir helfen würdet, die Variable $Knr = $_POST["KNr"]; in das Pop Up zu übertragen.

    Beim Umkopieren von Variablen in andere Variablen helfe ich dir nur insofern, als dass ich dir diesen (oft zu sehenden) Unsinn auszutreiben versuche. Du kannst direkt mit $_POST["KNr"] arbeiten, wenn da die gewünschten Daten drinstehen.

    dedlfix.

  4. hi,

    Mir würde es reichen wenn Ihr mir helfen würdet, die Variable $Knr = $_POST["KNr"]; in das Pop Up zu übertragen.

    Ungeachtet von Benutzerrechten (das wäre ein anderes Thema), Idee: Die Variable wird beim Erzeugen des JS-Codes, beispielsweise über ein Template, übergeben und steht somit direkt zur Verfügung in dem Moment, wenn der Client das POPup über JS aufruft.

    Sofern Benutzerrechte eine Rolle spielen und Zugriffe ohnehin über eine Session geregelt sind, würde ich an dieser Stelle keine Übergabe machen, sondern die benötigten Variablen serverseitig über den Session-Key zur Verfügung stellen.

    Hotti

    --
    Das Grauen hat einen Namen: Typhus 3