2017-01-26 1 views
0

전적으로 내 코드가 붙어 있습니다.PHP - 스크립트가 URL에서 ID 값을 가져 오지 않습니다.

<?php 
$id = $_GET['kid']; 
if (isset($_POST['mainit'])) { 
    if(!empty($_POST['new_kateg'])){ 
    $jaunakategorija = $_POST['new_kateg']; 
    $kmst = $conn->prepare('UPDATE kategorijas SET kat_vards=:katvards WHERE kat_id=:katid'); 
    $kmst->bindParam(':katvards', $jaunakategorija); 
    $kmst->bindParam(':katid', $id); 
    $kmst->execute(); 

     if($kmst->execute()){ 
      header('Location: new_kateg.php'); 
     } else { 
      $message = '<p class="red">Kļūda </p>'; 
     } 
    } else { 
     $message = '<p class="red">Lauks nedrīkst būt tukšs! </p>'; 
    } 
} 
?> 


<form action="kateg_edit.php" method="POST"> 

    <p>Ievadiet jaunās kategorijas nosaukumu</p> 
    <?php echo $id; ?> 
    <input type="text" name="new_kateg" placeholder="Ievadiet nosaukumu"> 
    <input type="submit" name="mainit" value="Mainīt!"> 

</form> 

이 데이터베이스에서 기록을 갱신하는 내 코드입니다.
내 URL : localhost /....../ kateg_edit.php? kid = 2

내가 $ id라고 말하면 코드는 2입니다. 코드는 작업을하지만 레코드는 변경되지 않습니다.

만약 내가 하드 코드 $ id = '2';

코드가 작동하고 ID가 2 인 레코드가 변경되었습니다.

왜 URL에서 동일한 번호를 얻을 때 변경 레코드가 없어졌습니다.

이 버튼 labot (편집) 도움

<?php 
$query = $conn->prepare("SELECT * FROM kategorijas"); 
$query->execute(); 
$result = $query; 

echo 
    "<table class='table-fill'> 
    <tr> 
    <th>ID</th> 
    <th>Kategorijas nosaukums</th> 
    <th style='text-align:center;'>Darbība</th>" 
    ; 

    foreach($result as $row) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['kat_id'] . "</td>"; 
    echo "<td>" . $row['kat_vards'] . "</td>"; 
    echo '<td style="text-align:center;"><a href="kateg_edit.php?kid=' . $row['kat_id'] . '">Labot</a> 
     <a href="new_kateg.php?deleteid=' . $row['kat_id'] . '">Dzēst</a></td>'; 
} 
    echo "</tr>"; 
    echo "</table>"; 
?> 

감사입니다 이전 페이지 ...

+0

알의 html로 당신은'$ _GET 얻을 수 있도록 [ '아이'] 두 함께? – Option

+0

확인 묶어 쿼리를 얻기위한'올바른. $ _POST [ 'mainit']'와'$ _POST'인가 [ 'new_kateg']'set && 비어 있지 않습니까? –

+0

편집 페이지로 연결되는 페이지가 관련이 없으므로 항목을 편집 할 수있는 코드/양식을 표시해야합니다. – jeroen

답변

0

어쨌든 감사를 "GET"!

솔브레드 BY MYSELF!

GET에서 값이있는 입력 필드를 한 개 더 삽입 한 다음 양식에서 가져온 쿼리 ID에 사용합니다. ">

0

대신 은 $ 아이디 = $ _GET [ '아이']; 이것을 시도하십시오 $ id = $ _POST [ 'kid']; 대신 방법 = "POST"의 이 방법 = 시도 도움말 모두를위한

+0

변경해야하는 이유는 무엇입니까? URL에서 아이를 읽어야합니다. 어쨌든 오류가 발생했을 때 (Undefined index : kateg_edit.php in line 10) – Janis

관련 문제