Member 3722539 Ответов: 1

Неопределенная переменная в PHP


Я новичок в php и (это, вероятно, глупый вопрос ).Я пытаюсь сделать приложение CRUD.Я получаю ошибку, когда пытаюсь получить значение "$countryName"
Notice: Undefined variable: countryName 
if(isset($_GET["edited"])){
$country=$helper->fetchCountry($_GET["countryId"]);
$countryName=$country["countryName"];
  $helper->updateCountry($countryName);
    helper::redirect("?updated=1");

}
<form action="" method="post">
               <div class="form-group">
                   <label>Ülke Adı</label>
                   <input type="text" class="form-control" name="editName"  value="<?php echo $countryName;?>"> HERE
               </div>
               <div class="form-group" align="center">
                   <button  class="btn btn-primary" name="btnEdit">Edit</button>
               </div>
           </form>
это то, что я пробовал до сих пор

Что я уже пробовал:

<?php
include "system/config.php";
include "system/helper.php";

$conn=new baglanti();
$helper=new helper();
?>
<!doctype html>
<html lang="en">
<head>
  
</head>
<body>
<?php
$data=$helper->fetchAllData();

if(isset($_POST["btnAdd"])){
   $name=strip_tags($_POST["Name"]);
   $helper->addData($name);
   helper::redirect("?inserted=1");



}
if(isset($_GET["edited"])){
$country=$helper->fetchCountry($_GET["countryId"]);
$countryName=$country["countryName"];
  $helper->updateCountry($countryName);
    helper::redirect("?updated=1");

}
?>
<div class="container">

    <div class="row">
       <div class="col-md-8">

           <form action="" method="post">
               <div class="form-group">
                   <label>Ülke Adı</label>
                   <input type="text" class="form-control" name="editName"  value="<?php echo $countryName;?>">
               </div>
               <div class="form-group" align="center">
                   <button  class="btn btn-primary" name="btnEdit">Edit</button>
               </div>
           </form>

           <form action="" method="post">
               <div class="form-group">
                   <label>Ülke Adı</label>
                   <input type="text" class="form-control" name="Name">
               </div>
               <div class="form-group" align="center">
                   <button  class="btn btn-success" name="btnAdd">Ekle</button>
               </div>
           </form>
       </div>
        <table class="table table-striped">
            <tr>
                <td>Ülke Adi</td>
                <td>Düzenle</td>
                <td>Sil</td>
            </tr>
             <?php
             if(count($data)>0){
                 foreach ($data as $key=>$value){
                     ?>
                     <tr>
                         <td><?php echo $value["countryName"] ;?></td>
                         <td><a href="?edited=1&countryId=<?php echo $value["countryId"];?>">Düzenle</a> </td>
                         <td><a href="?deleted=1&countryId=<?php echo $value["countryId"];?>">Sil</a> </td>

                     </tr>
                     <?php
                 }

             }else{
                 ?>
                 <tr>
                     <div class="row">
                         <td colspan="3" class="">No Data</td>
                     </div>
                 </tr>
            <?php
             }

             ?>
        </table>
    </div>
</div>
</body>
</html>

Richard MacCutchan

Наверное, потому что линия:

$countryName=$country["countryName"];

не вернул никаких данных. Вам нужно сделать некоторую отладку, чтобы выяснить, почему.

1 Ответов

Рейтинг:
0

Suresh Madhavaraju

1. Это $_GET["отредактировано"] или $_POST["отредактировано"]- Как это должно быть? Я вижу, что метод формы-это "post". Тогда так и должно быть $_POST["отредактировано"] Попробуйте изменить это и посмотреть, работает ли это.

2. Кроме того, у PHP есть шанс пропустить эту часть, если она не установлена, то есть "отредактировано" не установлено. Итак, добавьте часть else для isset($_GET["edited"]), как показано ниже:

еще
{
$countryName = "";
}

Это делается для того, чтобы установить пробел по умолчанию, если он не редактируется.

3. Также я не могу понять из вашего кода, как обрабатывается режим "отредактировано", чтобы идентифицировать, что эта запись редактируется? В любом случае вышеперечисленные два варианта могут сработать.