我正在尝试使用表单将数据库中的值传递给ALTER。 由于POST动作,我将n_processo(主键)放在表单上,以便POST可以将其传递到文件并编辑表。 我不希望此值显示在表(窗体)上,因为它是只读的,因此POST可以查看它并编辑值。 有谁知道该如何改变?
表格文件:
<form action="alterar_aluno3.php" method="POST">
<table>
<tr>
<th width="15%">Nº de Aluno</th>
<td><input type="text" maxlength="5" class="input-field4" name="teste" readonly value="<?php echo $idaluno;?>"/></td>
</tr>
<tr>
<th width="20%">Pessoas com quem vive:</td>
<td><input type="text" class="input-field4" name="agregado_existente" value="<?php echo $agregado_existente;?>"/></td>
</tr>
</table>
<p align=right>
<!--alterar este botao -->
<button type="submit" value="Alterar">Alterar</button>
<button type="cancel" onclick="window.location='http://donutsrool.pt/ficha_aluno.php';return false;">Cancelar</button>
</p>
</form>
插入文件
<?php
include "functions.php";
session_start();
//captar os dados recebidos do formulário com o método POST
$idaluno1=$_POST['teste'];
$agregado_existente = $_POST['agregado_existente'];
$altera="UPDATE aluno SET `agregado_existente`='$agregado_existente' WHERE `n_processo`=$idaluno1;";
$resultado =DBExecute($altera);
header("Location: ficha_aluno.php");
?>
答案 0 :(得分:0)
尝试一下:
<?php
include "functions.php";
session_start();
//captar os dados recebidos do formulário com o método POST
$idaluno1=$_POST['teste'];
$agregado_existente = $_POST['agregado_existente'];
$altera="UPDATE aluno SET `agregado_existente`='$agregado_existente' WHERE `n_processo`='$idaluno1'";
$resultado =DBExecute($altera);
header("Location: ficha_aluno.php");
?>
答案 1 :(得分:0)
您可以将id放在hidden
字段而不是文本字段中。
<input type="hidden" maxlength="5" class="input-field4" name="teste" value="<?php echo $idaluno;?>"/>
隐藏字段与文本字段的作用相同。
只能在页面加载时通过PHP或通过JavaScript事件设置其值。
唯一的区别是它们在浏览器中不可见。
但是,它们可以在页面的查看源中看到。