여기에 약간의 문제가있는 것 같습니다.PHP를 사용하여 HTML 폼에서 값을 가져 와서 MySQL 데이터베이스에 저장하십시오.
그래서 거래가 나는 HTML 파일과 함께 PHP 스크립트를 가지고 있는데, 그 파일에는 텍스트 상자와 드롭 다운이있는 몇 가지 양식이 있습니다. 이제는이 모든 것들에 대해 단일 양식을 사용해야하는 이유는 하나의 큰 작업을 수행하면 제출 버튼을 눌렀을 때 작업하지 않을 것이기 때문입니다. 나도 몰라 ... 내 현재 코드는 아래에, 내 이전 코드는 단지 하나의 양식을했고 그것은 전혀 작동하지 않을 것입니다.
<form method="post" id="locationFromPost" name="locationFormPost">
<div class="formRow">
<div class="label">
<label for="locationForm">Current Location:</label>
</div>
<div class="field">
//If post is null go back to value pull originally else echo post
<?php if($_POST['locationForm']==null) $location=$location;else $location=$_POST['locationForm']; ?>
<input type="text" name="locationForm" id="locationForm" value="<?php echo $location?>"></input>
</div>
</div>
</form>
...... 등등 .......
<form method="post" id="sexFromPost" name="sexFormPost">
<div class="formRow">
<div class="label">
<label for="sexForm">Sex</label>
</div>
<div class="dropDown">
<select name="sex" id="sexForm" >
//If post is null go back to value pull originally else echo post
<?php if($_POST['sexForm']==null) $sex=$sex;else $sex=$_POST['sexForm']; ?>
<option value="1" <?php if($sex==1){echo"selected='selected'";}?>>Male</option>
<option value="2" <?php if($sex==2){echo"selected='selected'";}?>>Female</option>
<option value="3" <?php if($sex==3){echo"selected='selected'";}?>>Not Specified</option>
</select>
</div>
</div>
</form>
...... 등등 .......
<form method="post" id="submit" name="submit">
<div class="formRow"><div id="seperator"></div></div>
<div class="submitButton">
<input type="submit" name="submit" id="submit" value="Save Changes"/>
</div>
</div>
</form>
내 코드의 윗부분이 어떻게 보이는지, 모든 div는 사용자가 걱정할 필요가없는 서식을 지정하기위한 것입니다. 이제 정보를 저장하는 PHP 코드는 아래와 같습니다. 위 코드의 PHP 부분에서 볼 수있는 변수는 데이터베이스의 앞부분에있는 코드에서 검색된다는 점에 유의해야합니다. 내가 문제를 겪고있는 것은 사용자가 정보를 편집 한 다음 제출 버튼과 정보를 저장할 수있게하려는 것입니다. 현재 일어나는 일은, 물론, 절대적으로 주목할만한 것입니다. 페이지가 새로 고침되고 모든 값이 끌어 왔을 때의 값으로 되돌아갑니다. DB에 저장되지 않습니다. 이제 코드의 일부가 작동하는지 확인하고 테스트를 해보십시오. 데이터를 아무런 문제없이 저장할 수 있습니다. 내가 씬이 얇은 것은 문제는 폼 자체 다. 자기가 하나의 큰 폼으로 모든 것을하면 작동하지 않는다. 왜 그런지 모르겠다. 이제는 브라우저의 각 폼의 끝에서 enter 키를 누르면 데이터가 들어가지만 그 필드 만 다른 필드가 완전히 지워지고 null 또는 빈 문자열이 저장됩니다. 나는이 일을 전혀 이해하지 못하는 것 같다.
heres 정보를 저장하는 PHP.
<?php
if (isset($_POST['submit']))
{
mysql_query("UPDATE members SET location= '".$_POST['locationForm']."' WHERE usr='" .mysql_real_escape_string($_SESSION['usr']) ."'");
mysql_query("UPDATE members SET location= '".$_POST['sexForm']."' WHERE usr='" .mysql_real_escape_string($_SESSION['usr']) ."'");
........ you know the rest.......
}?>
나는 완전히이 일이 일을하는 이유에 분실하고, 지금되지 않은-수단으로 최고의 PHP 프로그래머 메신저, 그래서 (아마) 나를 수 있습니다. 누구든지 내가 그런 일을하는 시스템을 얻으려면 어떻게해야하는지 지적 해 줄 수있다.
고마워.
먼저 SQL 쿼리 변수를 이스케이프 처리하십시오. 그러나 둘째로, 한 번에 하나의 양식 만 제출할 수 있습니다. 한 번에 모든 양식 필드를 제출하려면 모든 양식 필드가 단일 양식 안에 있어야합니다. 수백만 개의 웹 사이트에서이를 관리해 왔기 때문에 "작동하지 않으므로 분할했습니다."보다는 양식을 처리하는 데 실제 오류가 있습니다. – Andrew
좋아, 입력 해 주셔서 감사합니다. 실제로 다른 페이지에서 똑같은 작업을 수행했지만,이 작업을 수행하지 못했습니다. 계속 노력하고있어. 고맙습니다. – awmayhall