이 코드는 작동하지 않습니다. want to 업데이트가없는 다른 페이지 (업데이트)의 기본 사이트이기도합니다.양식 : 데이터베이스에 INSERT하면 작동하지 않습니다.
코드는 정보를 데이터베이스에 추가해야합니다.
쿼리가 단독으로 작동합니다. ( 프로 이 다른 테이블에 연결된 필드를 가지고 있기 때문에 : 는 fundpro, 도시,이 국가에 연결되어 typepro및 도시) 나는 어쩌면 쿼리가 너무 복잡하다고 생각하지만, 이후 작품 그 자체로는 PHP에서 작동하도록 만드는 방법이 있다고 생각합니다. 나는 잘못하고 있습니다.
업데이트 페이지 (질문과 코드 위의 링크) 양식에 올바른 필드가 표시되어 있으므로 두 페이지 모두에 중대한 실수가 없다고 가정합니다. 문제는 정보를 데이터베이스에 전달하는 것과 같습니다.
는 정말 실질적으로 난 정말 결국 필요한 유일한 페이지이고, 나는 내 국가 테이블이있는 동안은, 내 조직 및 프로 표를 작동 할 수 없습니다, 삽입 데이터 페이지를 필요 매우 유사한 실행 가능 추가 및 편집 페이지.
나는 이유가 무엇인지 모르겠다. 나는 그것을 어떻게 작동시키는 지 모른다. 어쩌면 누군가가 문제를 보거나 대체 접근법을 알고있을 것입니다.
tl; dr 데이터가 필드에서 데이터베이스에 INSERT되지 않습니다. 질의 자체는 update.php 파일을 기반으로 한 coccer입니다. form은 정보를 올바르게 반환합니다.
여기에 SQLFiddle 및 EER Diagram입니다.
<?php
header('Content-type: text/html; charset=utf-8');
isset($_GET['submit'])?$submit=true:$submit=false;
if(!$submit){
?>
<!DOCTYPE html>
<html>
<head>
<style>h1{color:red;}label{color:darkred;}</style>
<title>Add project</title>
<meta charset=”UTF-8”>
</head>
<body>
<h1>Add project:</h1>
<form name="f1" action="" method="GET" onSubmit="return validateForm(this)">
<label>IDpro </label><input type="text" name="idpro"><br>
<label>numpro</label><input type="text" name="numpro" ><br>
<label>namepro </label><input type="text" name="namepro" ><br>
<label>datef </label><input type="text" name="datef" ><br>
<label>datet </label><input type="text" name="datet" ><br>
<label>descr </label><input type="text" name="descr" ><br>
<label>typepro </label><input type="text" name="typepro" ><br>
<label>fundpro </label><input type="text" name="fundpro" ><br>
<label>IDci </label><input type="text" name="idpro" ><br>
<input type="reset" value="clear">
<input type="submit" value="add" name="submit"><br>
</form>
</body>
</html>
<?php
}else{
include "../config.php";
isset($_GET['idpro']) ? $idpro=$_GET['idpro'] : $idpro='';
isset($_GET['numpro']) ? $numpro=$_GET['numpro'] : $numpro='';
isset($_GET['namepro']) ? $namepro=$_GET['namepro'] : $namepro='';
isset($_GET['datef']) ? $datef=$_GET['datef'] : $datef='';
isset($_GET['datet']) ? $datet=$_GET['datet'] : $datet='';
isset($_GET['descr']) ? $descr=$_GET['descr'] : $descr='';
isset($_GET['typepro']) ? $typepro=$_GET['typepro'] : $typepro='';
isset($_GET['fundpro']) ? $fundpro=$_GET['fundpro'] : $fundpro='';
isset($_GET['idci']) ? $idci=$_GET['idci'] : $idci='';
$sql="INSERT INTO pro(idpro, numpro, namepro, datef, datet, descr,typepro_idtypepro, fundpro_idfundpro, city_idci) VALUES (?,?,?,?,?,?,?,?,?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('ssddsiiii', $numpro, $namepro, $datef, $datet,$descr, $typepro_idtypepro, $fundpro_idfundpro, $city_idci, $idpro);
$stmt->execute();
$stmt->close();
$mysqli->close();
header("Location: view.php");
//}
}
?>
UPDATE : 간단한 코드, 같은 패턴 :
header('Content-type: text/html; charset=utf-8');
isset($_GET['submit'])?$submit=true:$submit=false;
if(!$submit){
?>
<!DOCTYPE html>
<html>
<head>
<style>h1{color:red;}label{color:darkred;}</style>
<title>Add city</title>
<meta charset=”UTF-8”>
</head>
<body>
<h1>Add city:</h1>
<form name="f1" action="" method="GET" onSubmit="return validateForm(this)" >
<label>city id </label><input type="text" name="idci"><br>
<label>city </label><input type="text" name="nameci"><br>
<label>country id </label><input type="text" name="country_idco"><br>
<input type="reset" value="clear">
<input type="submit" value="add" name="submit"><br>
</body>
</html>
<?php
}else{
include "../config.php";
isset($_GET['idci'])?$idci=$_GET['idci']:$idci='';
isset($_GET['nameci'])?$nameci=$_GET['nameci']:$nameci='';
// isset($_GET['nameco'])?$nameco=$_GET['nameco']:$nameco='';
isset($_GET['idco'])?$idco=$_GET['idco']:$idco='';
//if(($name!='')&&($nameci!='')&&($nameco!='')){
//echo "$name $nameci $nameco";
$sql="INSERT INTO city(idci, nameci,country_idco) VALUES (?,?,?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('isi', $idci, $nameci, $country_idco);
$stmt->execute();
$stmt->close();
$mysqli->close();
header("Location: view.php");
//}
}
안녕하십니까, 게시 오류가 있습니까? – tanaydin
패턴과 함께 가야한다 :'$ x = isset ($ y)? $ y' : $ z' 두 개의 다른 과제 중 하나를 실행하기 위해 삼항 항을 사용하는 것이 아닙니다. – tadman
에는 오류가 표시되지 않습니다. – Evan