2012-10-29 5 views
0

나는 여기에 완전히 갇혀 있으며 값을 가져오고 설정하기 위해 게시 할 때 수십 개의 샘플을 발견했습니다. 내가 뭘하려고입니다 -PHP의 텍스트 값에서 데이터 가져 오기

  1. 내가 다음 변수 상태로이 값을 얻을 필요가

  2. 을 (세트 게시하는) 사용자가 내 양식에 텍스트 상자로 차량 년 모델을 입력하자

    $vehicle_year = $_GET['vyear']; 
    

    첫 번째 오류가 있습니다 ... vyear는 내 텍스트 상자의 이름과 ID입니다. 오류 - 정의되지 않은 색인 'vyear'. 나는 여전히 같은 양식/페이지에 있기 때문에 양식 등의 제출이 없습니다. 촬영이 값으로

  3. , 나는 다음에 부착 (반환) 년을 가진 업체 모두를 반환하는 내 데이터베이스를 검색 - 분명히

    $query = "SELECT * FROM `vehicledata` WHERE `year`='$vehicle_year'"; 
    

    을 난 아직도하지 않기 때문에 작동하지 않습니다 아직 정의되지 않은 오류가있는 값을 반환해야합니다. 텍스트 상자의 이름과 ID를 변경하려고 시도했지만 행운이 없습니다.

  4. 이러한 레코드가 반환되면 선택 (드롭 다운) 상자에 값을 추가해야합니다. 거기에 값을 가져 오는 방법을 모릅니다. 루프를 실행해야합니다. 선택 방법에 옵션을 추가하는 방법을 알지 못합니다.

    양식을 제출하지 않으므로 제출하기 전에 모든 관련 데이터를 먼저로드해야합니다.

도움이된다면, 고맙겠습니다.

P. 값을 얻고 옵션을 추가하는 방법을 알면 SQL 주입에 대해 추가 할 것입니다. 나를 데려 가기 위해서 기본이 필요합니다.

HTML : //이 내 코드가 될 것입니다 ... 검색 그냥 내 바퀴
   

  <?php   

      $vehicle_year = isset($_POST['vehicleyear']) ? $_POST['vehicleyear'] : -1;     

       if ($vehicle_year == -1) { 
       echo 'No Value Returned...'; 
            //returns no value... 
      } else { 
            //How to get the value and echo it out... 
       echo $vehicle_year; 
      } 
//$query = "SELECT * FROM (SELECT * FROM `vehicledata` WHERE `year`='$vehicle_year' ORDER BY `cid` DESC LIMIT 1, 10) AS `table` ORDER BY `cid` ASC"; 
$query = "SELECT * FROM `vehicledata` WHERE `year`='$vehicle_year'"; 

$result = mysql_query($query); 

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { 
$vehicle_id = $line['cid']; 
$vehicle_year = $line['year']; 
$manufacturer = $line['carfindmake']; 

//Get manufacturer data... 
$images = get_make($vehicle_year); 

if (!empty($make)) { 
    echo 'No data'; 
} else { 
    echo 'Found stuff'; 
} 
} 
    ?> 

      <td align="right"><span style="visibility:hidden" id="makelabel"><strong>Make</strong>&nbsp;&nbsp;</span></td> 
      <!--<td><input name="make" id="make" type="text" class="searchbox" style="visibility:hidden" onClick="toggleVisibility('modellabel'); toggleVisibility('model');"/></td>--> 
      <td><select name="make" id="make" class="searchbox" style="visibility:hidden" onClick="toggleVisibility('modellabel'); toggleVisibility('model');"/></td> 
+3

는'$ _POST [ 'vyear를']하지 않는다'- 양식이 게시하도록 설정되어있는 경우 .. – Wez

+0

양식 태그의 코드를 게시, 포함 된 –

+1

제출 방법 get 또는 post ... print ($ _ POST) 또는 $ _GET을 참조하여 인스턴스화 된 값을 확인하십시오. – Dukeatcoding

답변

0

2) 값이 설정되어 있지 않아 양식이 아직 제출되지 않았을 때 오류가 발생합니다. 다음으로

수정이 :

$vehicle_year = ''; 

if (isset($_POST['vyear'])) { 
    $vehicle_year = $_POST['vyear']; 
} 
+0

양식을 게시 할 때 가치를 얻는 방법을 알고 있습니다. 이것은 문제이지만 게시하지 않고도 게시하지 않고도 가치가 필요합니다. –

+0

네가 양식을 게시하지 않는다는 것을 알고 있습니다. 그래서'isset'이 필요해 오류가 발생하지 않습니다. 기본값을 설정하려면 내가 게시 한 코드의 첫 번째 행에 빈 문자열을 채우십시오. – Jrod

+0

고맙습니다. 위의 코드를 보아라. 나는 isset 등을 시도했다. 여전히 잘못되었다. –

0
$vehicle_year = $_POST['vyear']; 

경우 : 양식이 POST를 사용하도록 설정되어있는 경우

$vehicle_year = $_GET['vyear']; 

, 당신은 $_POST 자동 전역 등을 통해 양식 요소에 액세스해야합니다 (210) 내 양식 (게시 설정) 색인이 설정되어 있거나 설정되어 있지 않을 수 있으므로 PHP의 isset()을 사용하여 문제가 발생했습니다. 색인이 설정되지 않으면 오류가 발생하지 않습니다.

if(isset($_POST['vyear'])) { 
    $vehicle_year = $_POST['vyear']; 
} 
+0

Get 및 Post를 시도했지만 반환 된 값이 없습니다. vyear라는 텍스트 상자에 대해 정의되지 않은 오류 색인이 제공되었습니다. 앞서 언급했듯이 아직 양식을 게시하고 싶지 않습니다. 사용자가 입력 한 값 (예 : "2010"또는 "1999"등)을 가져와야합니다.이 값은 다음과 같이 데이터베이스에서 데이터를 가져 오는 데 사용됩니다. '$ vehicle_year' –

+0

질문에 HTML을 추가 할 수 있습니까? – SomeKittens

+0

어쩌면 제가 잘하고 있지 않을 수 있습니다 ... 코드를 제출할 수있는 곳은 특정 텍스트 만 허용됩니다. :) –

0

1 - 양식이 POST로 설정된 경우 $ _POST [ "vyear"]를 사용하여 값을 복구해야합니다.

2 - 텍스트 상자 이름의 대소 문자를 두 번 확인하십시오.

+0

대소 문자를 확인하고 이름을 변경했으나 아무 것도 ... POST와 관련해서는 위를 참조하십시오. –