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;
    }
}

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ページに渡され、対応するmysqlテーブルで記事を更新して認証または削除する必要があります。

これらすべてのスクリプトの最終結果として、control_insercion.phpページが空白で返されるため、助けを求めます。ヘッダーも実行されません。

助けていただければ幸いです!

4

2 に答える 2

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 に答える
0

解決しました!!!

私のためにそれを解決しようとしている人たちの時間を無駄にしてごめんなさい!!!!

何度も見直した後、私は2つのダミーミスをしたことに気付きました. まず、control_insercion.php コードの最初の行: ... と $_POST['es_autorizacion'] == 'ok' ... があってはなりません。この条件は、以下のif文ですでに表現されているので、削除しました。2 番目の間違いは、同じページの最後の行にあります。location という単語にコロン (句読点)
がありません。コーディング中にワインを飲むのをやめなければなりません ;=)
少なくとも、この問題が、動的データを他の php ページに渡す方法を他の人が理解するのに役立つことを願っています。
ご挨拶!

于 2013-03-01T11:22:02.383 に答える