0

我会简短。
我有这个:

函数.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;
    }
}

表单生成器.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 页面,在相应的 mysql 表中,文章应该被更新为授权或删除。

我请求一些帮助,因为所有这些脚本的最终结果是它返回 control_insercion.php 页面空白。甚至标题也没有被执行。

我将不胜感激任何帮助!

4

2 回答 2

0

解决了!!!

很抱歉浪费了那些试图为我解决问题的人的时间!!!!

在一遍又一遍地回顾之后,我意识到我犯了两个愚蠢的错误。首先在 control_insercion.php 代码的第一行: ... 和 $_POST['es_autoizacion'] == 'ok' ... 不应该在那里。我删除了它,因为这个条件已经在下面的 if 语句中表达了。第二个错误是在同一页的最后一行。位置一词缺少冒号(标点符号)
我不得不放弃在编码时喝酒;=)
至少我希望这个问题可以帮助其他人了解如何将动态数据传递到其他php页面。
问候!

于 2013-03-01T11:22:02.383 回答
0

您的标头函数中存在语法错误。

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

上述语法在位置后缺少冒号。它应该是

header("location:../public/pruebas.php?resultado=".$uno."&resultado2=".$dos."");
于 2013-03-01T11:13:15.793 回答