【发布时间】:2014-06-30 04:48:48
【问题描述】:
我正在尝试运行这个 php 代码:
<?php
include("misfunciones.php");
?>
<html>
<link rel="stylesheet" href="styleinterfaz.css" type="text/css" media="screen"/>
<body>
<?php
// process form
$conexion=Conectarse();
mysql_select_db("alpaca", $conexion);
$validar = "SELECT * FROM articulo WHERE cod_art = '$_POST[cod_art]'";
$resultado = mysql_query($validar);
$ingreso = mysql_num_rows($resultado);
if($ingreso > 0){
if(strlen($_POST['nro_id_trans']) == 6 AND $_POST['dia'] > 0 AND $_POST['dia'] < 32 AND $_POST['mes'] > 0 AND $_POST['mes'] < 13 AND strlen($_POST['año']) == 4 AND strlen($_POST['cod_art']) == 5 AND strcasecmp( $_POST['tipo_trans'] , "ingreso" ) == 0 OR strcasecmp( $_POST['tipo_trans'] , "egreso" ) == 0 AND $_POST['cant_art'] > 0){
$sql = "INSERT INTO transaccion (nro_id_trans, dia, mes, año, cod_art, tipo_trans, cant_art) ";
$sql.= "VALUES ('$_POST[nro_id_trans]', '$_POST[dia]', '$_POST[mes]', '$_POST[año]', '$_POST[cod_art]', '$_POST[tipo_trans]', '$_POST[cant_art]')";
$actualizarmes = "UPDATE cat_dem_mensual SET actualizado = 'no' WHERE mes = '"$_POST['mes']"' AND año = '"$_POST['año']"'";
$actualizaraño = "UPDATE cat_dem_anual SET actualizado = 'no' WHERE año = '"$_POST['año']"'"
mysql_query($sql, $conexion);
mysql_query($actualizarmes, $conexion);
mysql_query($actualizaraño, $conexion);
echo "¡Gracias! Hemos recibido sus datos.\n";
mysql_close($conexion);
}
else{
echo "Algún dato ingresado no es válido. Vuelva a la Interfaz e ingrese los datos nuevamente.";
}
}
else{
echo "El código de artículo no existe en la base de datos.";
}
?>
<a class="button" href="interfaz.html" onclick=”#”><span>Volver a la Interfaz</span></a>
</body>
</html>
但是当我这样做时,会出现以下错误:“Parse error: syntax error, unexpected '$_POST' (T_VARIABLE) in C:** on line 18” 我就是找不到问题所在!我认为这很简单,但我只是 php 的初学者。
【问题讨论】:
-
你检查过
$_POST是否存在吗? -
另外,不要使用 mysql 扩展! 它已被弃用,很可能会在 PHP 5.6 中被删除,您在这里使用它的方式是 不安全的:易受 SQL 注入攻击。使用带有参数化查询的 mysqli 或 PDO 扩展。
-
@Guns 你这是什么意思?我使用 $_POST 是因为我试图比较的数据是由索引页面中的表单给出的。
-
正如你所说的你是一个“php初学者”,我得问一下;您使用什么学习资源/参考资料?我只是无法理解任何新的开发如何使用这些过时且不安全的做法。
标签: php syntax syntax-error parse-error