2014-02-11 5 views
0

У меня есть эта форма, когда пользователь нажимает кнопку отправки, скрипт открывает всплывающее окно, где мне нужно распечатать значение переключателя. Моя проблема заключается в печататься значение во всплывающем окне: «на», но результат должен быть номер (идентификатор выбранного человека)Radio Button Value: «on»

Мой PHP код:

<form method="post" action="edit.php" onsubmit="target_popup(this,'edit.php')"><input type="submit" value="Modifica Giocatore" /><br /><br /><br /> 
       <?php 
        //my queries (work) 
       ?> 

       <table cellspacing="2" cellpadding="2"> 
       <tr> 
       <th></th> 
       <th>Name</th> 
       <th>Surname</th> 
       </tr> 

       <?php 
        $i=0; 
        while ($i < $num) { 
         $id=mysql_result($results,$i,"ID"); 
         $name=mysql_result($results,$i,"Name"); 
         $surname=mysql_result($results,$i,"Surname"); 
       ?> 

       <tr> 
        <td><input type="radio" name="radioEdit" value"<?= $id; ?>" /><?= $id; ?></td> 
        <td><?=$name?></td> 
        <td><?=$surname?></td> 
       </tr> 


       <?php 
        $i++; 
        } 
       ?> 

       <?php 

        echo "</table></form>" 
       ?> 

И это мой сценарий:

function target_popup(form,page) 
    { 
     window.open(page, 'formpopup', 'left=100,top=100,width=600,height=400,menubar,toolbar,resizable'); 
     form.target = 'formpopup'; 
    } 

edit.php файл:

<?php 
     $prova = $_POST['radioEdit']; 
     echo $prova;   
    ?> 

Спасибо.

+0

Итак, что внутри 'edit.php'? –

+0

Я добавил его прямо сейчас @ Fred-ii- – Yariet

+0

Либо проблема заключается в том, что PHP не генерирует HTML-код, а HTML, который не дает желаемых результатов. Какой бы он ни был, вам нужно взглянуть на HTML, чтобы сузить проблему. – Quentin

ответ

0

Единственный способ, которым я мог бы это сделать, это использовать sessions.

Вот что я могу проверить без настройки всей БД.

PHP

<?php 
session_start(); 
$id="12345"; // test ID number 

// works with sessions 
$prova = $_POST['radioEdit'] = $_SESSION['id'] = $id; 
echo $prova; 
?> 

<form method="post" action="edit.php" onsubmit="target_popup(this,'edit.php')"> 
<td><input type="radio" name="radioEdit" value"<?php echo $id; ?>" /><?= $id; ?></td> 
<input type="submit" value="Modifica Giocatore" /> 
</form> 

<script> 
    function target_popup(form,page) 
    { 
     window.open(page, 'formpopup', 'left=100,top=100,width=600,height=400,menubar,toolbar,resizable'); 
     form.target = 'formpopup'; 
    } 
</script> 

edit.php

<?php 
session_start(); 
echo $_SESSION['id']; 
echo $id; 
echo "<br>"; 
var_dump($_SESSION['id']); 
?> 
+0

Можете ли вы объяснить мне' $ prova = $ _POST ['radioEdit'] = $ _SESSION ['id'] = $ id; echo $ prova; ?> 'И' "; var_dump ($ _ SESSION ['id']); ?> '? Спасибо – Yariet

+0

Добро пожаловать. Это метод «цепочка» для переменных, где '$ prova' передается на' $ _POST' и т. Д. ... @ Yariet - я сам использую этот метод. Если вы протестируете его так, как он есть сейчас, в отдельной папке, вы увидите результаты. –

+1

Еще раз спасибо, но я решил использовать более простой способ: редактирование ' "/>' to ' "?> ' – Yariet

-1

Что произойдет, если вы echo $id? Вы уверены, что он возвращает значение? Также не <?= ;?> считается действительно старым и устаревшим PHP? Вы должны использовать <?php echo ;?>

+0

Это скорее комментарий, чем ответ. –

+0

A) Первая часть - идея ответа, B) У меня недостаточно репутации, чтобы прокомментировать ... – JoeShmoe

+0

'echo $ id' дает мне белую страницу. '' все еще дает мне "на" – Yariet