Variable-Senden-Problem

d4kine

Erfahrenes Mitglied
Hallo.
Mein problem ist etwas umfangreicher und ich werde einfach mal versuchen es zu erklären.

Ich habe einen Input button, der als Type Submit hat und beim draufklicken ein neues Fenster mithilfe eines javascripts öffnet.
Siehe hier:
http://djtryce.dj.funpic.de/admin/woot.php?id=guestbook

Das Problem ist, das der wert der radio Buttons (z.b. $id welches aus einer mysql-db ausgelesen wurde) nicht an das NewWindow übermittelt wird, und daran verzweifel ich seit Stunden.

hier mal den wichtigsten code:

Code:
  echo "<form method=\"post\" action=\"$PHP_SELF\" name=\"GuestbookForm\">";

 $connect = mysql_connect ("$mysql_host","$mysql_user","$mysql_pass");
  $result = mysql_db_query("$mysql_db", "SELECT * FROM guestbook");
  while ($row = mysql_fetch_array($result))
   {
   $gbid    = $row['id'];
    echo "<td><input type=\"radio\" name=\"idselect\" value=\"$gbid\" border=\"0\"></td>";
   }

  echo "<input type=\"submit\" name=\"delete\" class=\"smallbutton\" value=\"Delete\" onclick=\"NewWindow('$PHP_SELF?id=guestbook_delete&gbid=$gbid&sid=$selectedid','','800','300','yes');return false\">";

kurzer auszug aus $PHP_SELF?id=guestbook_delete:

Code:
 $result = mysql_db_query("$mysql_db", "SELECT * FROM guestbook WHERE id = '$selectedid'");

Hoffentlich kann mir jemand helfen.

Greetz -> d4kine
 
Verpasse dem Formular einfach das target Attribut "_blank", passe den action Pfad an und lasse das JS Zeugs weg. Alle Variablen die an das neue Fenter mitübergeben werden sollen, kannst du einfach in hidden Felder packen (bei der Methode GET), oder aber, wenn du das Formular per POST abschickst einfach an die action URL anfügen (als GET Variablen).

Wenn das neue Fenster dann aber die Maße 800*300 haben muss, kannst du das Fenster immer noch mit JS resizen.
 
Zuletzt bearbeitet:
Sonst könntest du auch einfach vorher ein Fenster mit gewünschter Größe öffnen und dem Formular dies als Ziel zuweisen:
HTML:
<form … target="newWindow" onsubmit="window.open('about:blank', 'newWindow', 'width=800,height=300')">
…
</form>
 
Hi
Erstmal danke für die antworten. Leider hab ich imemrnoch das Problem, das ich net die Daten übermittelt bekomme (Außer das Feld idselect)


case "guestbook":
PHP:
  echo "<form method=\"GET\" target=\"newWindow\" onsubmit=\"window.open('about:blank', 'newWindow', 'width=800,height=300')\">";

/****** HIER FEHLER *****/
  echo "<input type=\"hidden\" name=\"id\" value=\"guestbook_delete\">";
/******************************/

  while ($row = mysql_fetch_array($result))
   {
   $gbid	= $row['id'];
   $gbname	= $row['name'];
   $gbdate	= $row['date'];
   $gbtime	= $row['time'];
   $gbemail	= $row['email'];
   $gbhomepage 	= $row['homepage'];
   $gbicq	= $row['icq'];
   $gbip	= $row['ip'];
   $gbhost	= $row['host'];
   $gbmessage  = $row['message'];
    $gbmessage = str_replace("<br>","",$gbmessage);
    $gbmessage = str_replace("<br\>","",$gbmessage);
    $gbmessage = str_replace("<br \>","",$gbmessage);
    $gbmessage = str_replace("<br/>","",$gbmessage);
    $gbmessage = str_replace("<br />","",$gbmessage);

   echo "<tr onMouseOver=\"this.bgColor='#e6ffdb'\" onMouseOut=\"this.bgColor='#ffffff'\" height=\"17\">";
   echo "<td><input type=\"radio\" name=\"idselect\" value=\"$gbid\" border=\"0\"></td>";

   echo "<td></td>";
   echo "<td><input type=\"submit\" name=\"showip\" class=\"ip\" value=\"\" onclick=\"NewWindow('$PHP_SELF?id=guestbook_ip&gbip=$gbip&gbhost=$gbhost&gbdate=$gbdate&gbtime=$gbtime&gbname=$gbname','','320','180','yes');return false\"></td>";

   echo "<td></td>";
   echo "<td>$gbid</td>";
   echo "<td></td>";
   echo "<td>$gbdate</td>";
   echo "<td></td>";
   echo "<td>$gbname</td>";
   echo "<td></td>";

   if (strlen($gbmessage)>75)
    { $gbmessage = substr($gbmessage, 0, 75).' ...&nbsp;'; }
   echo "<td>$gbmessage</td>";
   echo "</tr>";
   echo "<tr><td></td></tr>";
   }
  echo "</table>";

  echo "<hr color=\"#e0e0e0\">";

  echo "<input type=\"submit\" class=\"smallbutton\" value=\"Delete\">";
  echo "&nbsp;";
  echo "<input type=\"submit\" name=\"action\" class=\"smallbutton\" value=\"Edit\" onclick=\"NewWindow('$PHP_SELF?id=guestbook&action=edit','','320','250','yes');return false\">";
  echo "&nbsp;";
  echo "<input type=\"submit\" name=\"action\" class=\"button\" value=\"Comment\" onclick=\"NewWindow('http://www.google.de','','800','600','yes');return false\">";

  echo "<input type=\"hidden\" name=\"gbid\" 	value=\"$gbid\">";
  echo "<input type=\"hidden\" name=\"gbdate\" 	value=\"$gbdate\">";
  echo "<input type=\"hidden\" name=\"gbtime\" 	value=\"$gbtime\">";
  echo "<input type=\"hidden\" name=\"gbname\" 	value=\"$gbname\">";
  echo "<input type=\"hidden\" name=\"gbemail\" value=\"$gbemail\">";
  echo "<input type=\"hidden\" name=\"gbicq\" 	value=\"$gbicq\">";
  echo "<input type=\"hidden\" name=\"gbhomepage\" value=\"$gbhomepage\">";
  echo "<input type=\"hidden\" name=\"gbip\" 	value=\"$gbip\">";
  echo "<input type=\"hidden\" name=\"gbhost\" 	value=\"$gbhost\">";
  echo "<input type=\"hidden\" name=\"gbmessage\" value=\"$gbmessage\">";

  echo "</form>";

case "guestbook_delete":
PHP:
 echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"100%\">";

 $connect = mysql_connect ("$mysql_host","$mysql_user","$mysql_pass");
 $result = mysql_db_query("$mysql_db", "SELECT * FROM guestbook WHERE id = '$selectedid'");
  while ($row = mysql_fetch_array($result))
   {
   $gbid    = $row['id'];
   $gbname    = $row['name'];
   }

 echo "<tr height=\"0\"><td width=\"75\"></td><td></td></tr>";
 echo "<tr><td>ID:</td><td><b>$gbid</b></td></tr>";
 echo "<tr height=\"5\"><td></td><td></td></tr>";
 echo "<tr><td>Name:</td><td><b>$gbname</b></td></tr>";
 echo "</table>";
 echo "<br>";
 echo "$close";
 break;

So, das mti dem Werte übermitteln klappt schonmal nur d
Wie ihr ja bei dem Link oben gesehen habt, habe ich unten normalerweise 3 Buttons (Delete, Edit, Comment die dann zum case guestbook_delete, guestbook_edit... springen und die werte übermitteln).
Wenn ich das nut mit 1 Button nachenmüsste, dann könnte ich es in <form> mit action machen, aber wie mache ich es, das der verschiedene fenster auf verschiedenen bottons öffner aber nur 1 Form hat?

Danke schonmal :)
 
Zuletzt bearbeitet:
Zurück