【发布时间】:2016-03-15 03:16:48
【问题描述】:
我需要对朋友完成的工作进行故障排除。似乎没有错误,因为我可以毫无问题地启动网站。当从下拉列表中选择一个选项并单击添加时,它不会将数据插入 SQL 并且不会回显到网站。我要解决的只是将数据插入数据库并在网站上显示。数据库和表都没有错误,因为我尝试重做很多次都没有运气。
我不确定代码有什么问题。
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form") && ($_POST['InputSwitch'] != "") && ($_POST['InputFromPort'] != "") && ($_POST['InputToPort'] != "")) {
//Start of Add Flow
$flow = '{"flow":{"cookie":"0x2032195","priority": 30000, "idle_timeout": 0, "hard_timeout": 0,"match":[{"in_port":'.$_POST["InputFromPort"].'}],"actions":[{"output":'.$_POST["InputToPort"].'}]}}';
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $flow);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_URL,"https://127.0.0.1:8443/sdn/v2.0/of/datapaths/".$_POST['InputSwitch']."/flows");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result3 = curl_exec ($curl);
curl_close ($curl);
//End of Add Flow
//Start of Add Flow
$flow2 = '{"flow":{"cookie":"0x2032195","priority": 30000, "idle_timeout": 0, "hard_timeout": 0,"match":[{"in_port":'.$_POST["InputToPort"].'}],"actions":[{"output":'.$_POST["InputFromPort"].'}]}}';
$curl2 = curl_init();
curl_setopt($curl2, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl2, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl2, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl2, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl2, CURLOPT_POSTFIELDS, $flow2);
curl_setopt($curl2, CURLOPT_HEADER, true);
curl_setopt($curl2, CURLOPT_URL,"https://127.0.0.1:8443/sdn/v2.0/of/datapaths/".$_POST['InputSwitch']."/flows");
curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);
$result4 = curl_exec ($curl2);
curl_close ($curl2);
//End of Add Flow
$query = "SELECT * FROM port_switching";
$result = mysql_query($query);
$i=0;
while($row = mysql_fetch_array($result))
{
$table[$i]=$row['switching_id'];
$table[$i+1]=$row['switch'];
$table[$i+2]=$row['port_in'];
$table[$i+3]=$row['port_out'];
$i+=4;
}
if((array_search($_POST['InputFromPort'], $table)) != false)
{
$insertSQL = sprintf("UPDATE port_switching SET port_in=%s WHERE port_in=%s",
GetSQLValueString($_POST['InputFromPort'], "text"),
GetSQLValueString($_POST['InputFromPort'], "text"));
mysql_select_db($database_localhost, $localhost);
$Result1 = mysql_query($insertSQL, $localhost) or die(mysql_error());
}
$insertSQL = sprintf("INSERT INTO port_switching (switch, port_in, port_out) VALUES (%s, %s, %s)",
GetSQLValueString($_POST['InputSwitch'], "text"),
GetSQLValueString($_POST['InputFromPort'], "text"),
GetSQLValueString($_POST['InputToPort'], "text"));
$insertSQL2 = sprintf("INSERT INTO port_switching (switch, port_in, port_out) VALUES (%s, %s, %s)",
GetSQLValueString($_POST['InputSwitch'], "text"),
GetSQLValueString($_POST['InputToPort'], "text"),
GetSQLValueString($_POST['InputFromPort'], "text"));
mysql_select_db($database_localhost, $localhost);
$Result1 = mysql_query($insertSQL, $localhost) or die(mysql_error());
$Result2 = mysql_query($insertSQL2, $localhost) or die(mysql_error());
尝试在 $Result2 之后将 echo/print 放在这里并返回解析错误(意外的 t_echo/print)。他说不要再从这里添加代码,因为它已经完成了。
【问题讨论】: