0

I'm doing a simple database application in which people's data is stored. In case I want to update the data of a particular person I get an error

Parse error: syntax error, unexpected '[' in /home/netcom85/domains/sieci-netcom.pl/public_html/updatesingle.php on line 20

On localhost everything was okay, after putting on the server such an error appears.

updateklient.php

 <?php foreach ($result as $row) : ?>
                    <tr>
                      <td style="border: 2px solid black"><?php echo ($row["id"]); ?></td>
                      <td style="border: 2px solid black"><?php echo ($row["firstname"]); ?></td>
                      <td style="border: 2px solid black"><?php echo ($row["lastname"]); ?></td>
                      <td style="border: 2px solid black"><?php echo ($row["umowa"]); ?></td>
                      <td style="border: 2px solid black"><?php echo ($row["street"]); ?></td>
                      <td style="border: 2px solid black"><?php echo ($row["city"]); ?></td>
                      <td style="border: 2px solid black"><?php echo ($row["kod"]); ?> </td>
                      <td style="border: 2px solid black"><?php echo ($row["email"]); ?> </td>
                      <td style="border: 2px solid black"><?php echo ($row["numer"]); ?> </td>
                        <td style="border: 2px solid black; background-color: #00a3e8;"><a href="updatesingle.php?id=<?php echo($row["id"]); ?>">EDYTUJ</a></td>
                  </tr>
                  <?php endforeach; ?>

updatesingle.php

<?php

  session_start();

  if (($_SESSION['zalogowany']==false))
  {
    header('Location: clientpanel.php');
    exit();
  }


  require "skrypty/connect.php";


        if (isset($_POST['submit'])) {
              try {
                $connection = new PDO($dsn, $db_user, $db_password, $options);

                $user =[
                  "id"        => $_POST['id'],
                  "firstname" => $_POST['firstname'],
                  "lastname"  => $_POST['lastname'],
                  "umowa"       => $_POST['umowa'],
                  "street"     => $_POST['street'],
                  "city"       => $_POST['city'],
                  "kod"       => $_POST['kod'],
                  "email"       => $_POST['email'],
                  "numer"       => $_POST['numer'],

                ];

                $sql = "UPDATE dane  SET id = :id, firstname = :firstname, lastname = :lastname, umowa = :umowa WHERE id = :id;
                    UPDATE adres SET id = :id, street = :street, city = :city, kod=:kod WHERE id = :id;
                    UPDATE kontakt SET id=:id, email=:email,numer=:numer WHERE id = :id";

              $statement = $connection->prepare($sql);
              $statement->execute($user);
              } catch(PDOException $error) {
                  echo $sql . "<br>" . $error->getMessage();
              }
            }



      if (isset($_GET['id'])) {
        try {
          $connection = new PDO($dsn, $db_user, $db_password, $options);
          $id = $_GET['id'];

          $sql = "SELECT * FROM dane,adres,kontakt WHERE dane.id = :id AND adres.id = :id AND kontakt.id = :id" ;
          $statement = $connection->prepare($sql);
          $statement->bindValue(':id', $id);
          $statement->execute();

          $user = $statement->fetch(PDO::FETCH_ASSOC);
        } catch(PDOException $error) {
            echo $sql . "<br>" . $error->getMessage();  
        }
      } else {
        echo "Something went wrong!";
        exit;
      }


?>

The problem appears in this part of the code:

 $user =[
                  "id"        => $_POST['id'],
                  "firstname" => $_POST['firstname'],
                  "lastname"  => $_POST['lastname'],
                  "umowa"       => $_POST['umowa'],
                  "street"     => $_POST['street'],
                  "city"       => $_POST['city'],
                  "kod"       => $_POST['kod'],
                  "email"       => $_POST['email'],
                  "numer"       => $_POST['numer'],

                ];

I have no idea how to fix it and why this error occurs.

Masivuye Cokile
  • 4,754
  • 3
  • 19
  • 34

1 Answers1

1

You are using an older version of PHP. The Array Initialization Construct: [] will not work. Instead, use this approach:

$user = array(
       "id" => $_POST['id'],
        .....
)
Jay Blanchard
  • 34,243
  • 16
  • 77
  • 119
Rakesh Jakhar
  • 6,380
  • 2
  • 11
  • 20