私はウェブプロジェクトを作っていますが、私はウェブページとphpsの間で値を渡すのに多くの問題があります。私は親切にPHPで新しいので、忍耐強くしてください。他のページでフォームの値を使用
私の問題は次のとおりです。
私はフォームを持つHTMLワードプレスページを持っています。このフォームでは、db行をチェックするためのチェックボックスをいくつか作成し、チェックしてボタンを使用すると追加、編集、削除ができます。私は追加と削除を管理しますが、編集に問題があります。
ので、ここでは、DB項目および追加のオプションを表示、編集、削除を行うことができ、コードは次のとおりです。
<strong>Aquí puede ver los ejercicios profesor</strong>
[insert_php]
global $wpdb;
$consulta = "SELECT * FROM ejercicio WHERE 1";
$resultado = $wpdb->get_results($consulta);
echo "<table><td>";
echo '<form action="http://localhost/wordpress/profesor/profesor-subir-ejercicios"><input type="submit" value="Nuevo"/></form>';
echo "</td><td>";
echo '<form name="boton" method="post" action="/wordpress/wp-content/plugins/borro.php"><input type="submit" name="editar" value="Editar" />';
echo "</td><td>";
echo '<input type="submit" name="borrar" value="Borrar" />';
echo "</td></table>";
echo "<table>";
echo "<tr>";
echo "<th>";
echo "<strong><u>Ejercicios </u></strong>";
echo "</th>";
echo "</tr>";
foreach ($resultado as $fila):
echo "<tr><td>";
$datos= $fila->Nombre;
echo $datos;
echo "</td><td>";
echo '<input id="borro" type="checkbox" name="marcar[]" value="'.$datos.'"/>';
echo "</td></tr>";
endforeach;
echo '</form>';
echo "</table>";
[/insert_php]
私は私が行けば「marcar []」のチェックボックスをチェックする必要がありますEDITまたはDELETEの形式。
<?php
include_once('../../wp-load.php');
include_once('../../wp-config.php');
global $wpdb;
if(!empty($_POST['marcar'])){
if($_POST["editar"]) {
foreach($_POST['marcar'] as $selected)
header('Location: http://localhost/wordpress/profesor/profesor-editar/');
}
if($_POST["borrar"]) {
foreach($_POST['marcar'] as $selected)
{
$wpdb->delete('ejercicio', array('Nombre' => $selected));
}
header('Location: http://localhost/wordpress/profesor/profesor-ejercicios/');
}
}
?>
あなたは私がチェックしたオプションを確認することを見ることができると私はDELETE押された場合、私は、行を削除します。これらのボタンで、私は、PHPファイルborro.phpに行きます。しかし私がEDITを押すと、私はユーザーがチェックボックスで選択されたフィールドだけを更新したい、editarのWebページに行きます。
<strong>Aquí podrá editar el ejercicio profesor</strong>
[insert_php]
global $wpdb;
echo '<form action="/wordpress/wp-content/plugins/edito.php" method="post">';
echo "Nombre <br>";
echo '<input type="text" name="nombrecaja"><br>';
echo "Enunciado <br>";
echo '<textarea name="enunciadocaja" rows="5" cols="40"></textarea><br>';
echo "Solución <br>";
echo '<textarea name="solucioncaja" rows="5" cols="40"></textarea> <br>';
echo '<input type="submit" value="Subir ejercicio" /></form>';
[/insert_php]
だから、私は、データベースの情報と、それを更新することができ、ユーザとの入力を埋めるために、確認のチェックボックスの行を取得したいです。私はデータベースをチェックするのに問題はないと思うが、どの行がチェックされているか(どの行を更新してクエリを作成する必要があるか)を知る方法がわからない。基本的に、編集Webページのmarcar []に保存されているチェックされた値をチェックして更新する方法はわかりません。
おかげ
あなたのデータを追跡するために '' $ _SESSION''変数を使いたいかもしれません。 https://secure.php.net/manual/en/session.examples.basic.php –
'session_start();を追加しました。 $ _SESSION ['dato'] = $ _POST ['marcar']; 'ヘッダ付きリダイレクト前のPHPで。その後、htmlファイルに次のように書きます: 'session_start(); echo $ _SESSION ['dato'] ['0']; '。私は値を正しく見ることができます!!!! session_start()はWARNINGで失敗します。SESSION_START():セッションキャッシュリミッターを送信できません - ヘッダーがすでに送信されています。しかし、データはそこにあります! – SugusTHC
@SugusTHC、私の答えを見てください。 – Ionut