2013-03-01 20 views
0

我將簡要介紹一下。
我有這樣的:如何通過POST變量傳遞動態創建的輸入值

的functions.php

function consulta($sql){ 
    $consulta = mysql_query($sql, $GLOBALS['conexion']) or die (mysql_error()); 

    if(mysql_num_rows($consulta) == 0){ 
     return -1; 
    }else if (mysql_num_rows($consulta) == 1){ 
     $fila = mysql_fetch_array($consulta); 
     return $fila; 
    }else{ 
     while($fila = mysql_fetch_array($consulta)){ 
      $lista[] = $fila; 
     } 
     return $lista; 
    } 
} 

formgenerator.php

$art_ptes = consulta("SELECT * FROM articulos WHERE autorizacion = '0'"); 
echo "<form action='../private/control_insercion.php' method='POST'>"; 
echo "<input type='hidden' name='es_autorizacion' value='ok' />"; 
echo "<table id='aut_ptes'> 
    <tr><th colspan='8'>Autorizaciones pendientes</th></tr> 
    <tr><th>Fecha</th><th>Título</th><th>Categoría</th><th>Artículo</th>  <th>Autor</th><th colspan='3'>Sanción</th></tr>"; 
if($art_ptes !== -1){ 
    if(is_array($art_ptes[0])){ 
     for ($i = 0 ; $i < count($art_ptes) ; $i++) { 
      echo "<tr><td>".$art_ptes[$i][1]."</td> <td>".$art_ptes[$i][2]."</td><td>".$art_ptes[$i][3]."</td><td>".substr($art_ptes[$i][4], 0, 140)."<a href='#'>...ver</a></td><td>".$art_ptes[$i][5]."</td><td>AUT: <input name='autorizar".$i."' value='aut' type='radio' /></td><td>DEN: <input name='autorizar".$i."' value='den' type='radio' /></td><td>PTE: <input name='autorizar".$i."' value='pte' type='radio' checked='checked'/></td></tr>"; 
      echo "<input type='hidden' name='id".$i."' value='".$art_ptes[$i][0]."' />"; 
      echo "<input type='hidden' name='titulo".$i."' value='".$art_ptes[$i][2]."' />"; 
      echo "<input type='hidden' name='autor".$i."' value='".$art_ptes[$i][5]."' />"; 
     } 
     echo "<tr><td colspan='8'><input type='submit' value='Enviar!' /></td></tr>"; 
    } else { 
     echo "<tr><td>".$art_ptes[1]."</td><td>".$art_ptes[2]."</td><td>".$art_ptes[3]."</td><td>".substr($art_ptes[4], 0, 140)."<a href='#'>...ver</a></td></td><td>".$art_ptes[5]."</td><td>AUT: <input name='autorizar' value='aut' type='radio' /></td><td>DEN: <input name='autorizar' value='den' type='radio' /></td><td>PTE: <input name='autorizar' value='pte' type='radio' checked='checked'/></td></tr>"; 
     echo "<input type='hidden' name='id' value='".$art_ptes[0]."' />"; 
     echo "<input type='hidden' name='titulo' value='".$art_ptes[2]."' />"; 
     echo "<input type='hidden' name='autor' value='".$art_ptes[5]."' />"; 
     echo "<tr><td colspan='8'><input type='submit' value='Enviar!' /></td></tr>"; 
    } 
} else { 
    echo "<tr><td colspan='8'>SIN REGISTROS</td></tr>"; 
} 
echo "</table> 

    </form>"; 

control_insercion.php

/* ...more irrelevant code precedes */ 
} else if (isset($_POST['es_autorizacion']) and $_POST['es_autorizacion'] == 'ok') { 

    $emails_den = array(); 
    $emails_aut = array(); 

    if(!isset($_POST['autorizar'])){ 
     $i = 0; 
     while(isset($_POST['autorizar'.$i]) and $_POST['autorizar'.$i] == 'aut'){ 

      if($_POST['autorizar'.$i] == 'aut') { 
       $consulta = ("UPDATE articulos SET autorizacion = '1' WHERE titulo = '".$_POST['titulo'.$i]."' AND autor = '".$_POST['autor'.$i]."' AND id = '".$_POST['id'.$i]."';"); 
       $resultado = mysql_query($consulta, $conexion) or die(mysql_error()); 
       $email = consulta("SELECT email FROM autores WHERE autor = '".$_POST['autor'.$i]."';"); 
       $emails_aut[] = $email; 

      }else if($_POST['autorizar'.$i] == 'den') { 
       $consulta = ("DELETE FROM articulos WHERE id = '".$_POST['id'.$i]."';"); 
       $resultado = mysql_query($consulta, $conexion) or die(mysql_error()); 
       $email = consulta("SELECT email FROM autores WHERE autor = '".$_POST['autor'.$i]."';"); 
       $emails_den[] = $email; 
      } 
      $i++; 
     } 
    } else { 
     if($_POST['autorizar'] == 'aut') { 
       $consulta = ("UPDATE articulos SET autorizacion = '1' WHERE titulo = '".$_POST['titulo']."' AND autor = '".$_POST['autor']."' AND id = '".$_POST['id']."';"); 
       $resultado = mysql_query($consulta, $conexion) or die(mysql_error()); 
       $email = consulta("SELECT email FROM autores WHERE autor = '".$_POST['autor']."'"); 
       $emails_aut[] = $email; 

      } else if ($_POST['autorizar'] == 'den') { 
       $consulta = ("DELETE FROM articulos WHERE id = '".$_POST['id']."';"); 
       $resultado = mysql_query($consulta, $conexion) or die(mysql_error()); 
       $email = consulta("SELECT email FROM autores WHERE autor = '".$_POST['autor']."';"); 
       $emails_den[] = $email; 
      } 

    } 
    $uno = serialize($emails_den); //checking whther everything went right// 
    $dos = serialize($emails_aut); 
    header("location../public/pruebas.php?resultado=".$uno."&resultado2=".$dos.""); 
} 

它由正諮詢正在等待用戶的文章爲管理員授權。

在formgenerator.php動態表與所有這些物品產生。

的授權或每個物品列否認管理員點擊。

POST變量傳遞給處理器PHP頁面,文章應aupdated到authirized或相應的MySQL表中刪除。

我尋求幫助,因爲所有這些腳本的最終結果是,它返回control_insercion.php頁空白。即使頭部沒有執行。

我將不勝感激任何幫助!

+0

您可能有一些錯誤,可能是數據庫或PHP。你有沒有檢查從Apache的錯誤日誌? – dxvargas 2013-03-01 11:04:02

回答

0

您的標題函數中存在語法錯誤。

header("location../public/pruebas.php?resultado=".$uno."&resultado2=".$dos.""); 

上述語法在位置後缺少冒號。它應該是

header("location:../public/pruebas.php?resultado=".$uno."&resultado2=".$dos.""); 
+0

謝謝!我已經看到它。再次感謝您在這個問題上的時間! – Rodolfo 2013-03-01 11:23:42

0

已解決!!!

抱歉浪費了那些衛生組織在那裏試圖解決它,我的時間!!!!

後一遍遍審查後,我意識到,我做了兩級空的錯誤。首先在control_insercion.php代碼的第一行:...和$ _POST ['es_autorizacion'] =='ok'...不要在那裏。我刪除了它,因爲這個條件已經在if語句中表達如下。第二個錯誤是在同一頁的最後一行。這個詞的位置沒有冒號(標點符號)
我不得不放棄飲用酒,而編碼; =)
至少我希望這個問題可以幫助別人看到如何將dynamyc數據傳遞給其他的PHP頁面。
問候!