Errore end of file

di il
1 risposte

Errore end of file

Salve,

x Hormus, sempre grazie e con massimo rispetto per tutti

ora mi da questo errore alle righe con gli asterischi

Parse error: syntax error, unexpected token "elseif", expecting end of file in C:\xampp\htdocs\esempio_newletter\search_result.php on line 48

è evidente che ho un problema con gli if

ma mi sembra che la riga con elseif sia chiusa con ?

un aiuto? grazie 

<?php
echo("inizio 01");

$user = 'root';
$password = 'Maxim$2009&';
$db = 'romaestre';
$host = 'localhost';
$port = 500;
$conn = new PDO("mysql:host=$host; dbname=$db; port=$port", $user, $password);
echo("inizio 02");
$result = [];
$stmt = $conn->query("SELECT email FROM email");

    while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
        $result[] = $row;
    }
    echo json_encode($result);

?><!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw/wG7hdkwQ/Z5nLIefveQRIY9nfy6xoR1uRYBtpZgI6339F5dgvm/e9B" crossorigin="anonymous">

    <title>Risultati ricerca: <?php echo $email ?></title>
  </head>
  <body>
    <div class="container">
      <div class="row">
        <div class="col-sm">
          <nav class="navbar navbar-expand-lg navbar-light bg-light">
            <div class="collapse navbar-collapse">
              <div class="navbar-nav">
                <a class="nav-item nav-link" href="new.php">Nuovo Utente</a>
                <a class="nav-item nav-link active" href="index.php">Cerca Utente</a>
              </div>
            </div>
          </nav>

          <h3>Risultati ricerca: <?php echo $email ?></h3>

          <?php if(0 !== $error) {
			echo 'errore generico';
			}?>
            <div class="alert alert-danger" role="alert"><?php echo $error ?></div>
  *      <?php elseif (empty($result))  {
  *		  echo 'Have a good day';
  *			}?>
			<div class="alert alert-warning" role="alert">Non trovato nelle email <?php echo $email ?></div>
          <?php else:  {
			  echo 'Have a good';
			}?>
            <div class="card" style="width: 18rem;">
                <div class="card-body">
                    <h5 class="card-title"><?php echo $result['firstName'] ?> <?php echo $result['lastName'] ?></h5>
                    <h6 class="card-subtitle mb-2 text-muted"><?php echo $result['email'] ?></h6>
                </div>
            </div>

          <?php endif ?>
        </div>
      </div>
    </div>
  </body>
</html>

1 Risposte

  • Re: Errore end of file

    Salve Zeusmax.

    Il motore PHP con l'apertura e chiusura dei tag PHP esplica la parentesi graffa chiusa prima di elseif e/o else (per non generare l'errore).

    Ho guardato il codice postato al topic precedente che fa uso di Alternative syntax for control structures https://www.php.net/manual/en/control-structures.alternative-syntax.php#control-structures.alternative-syntax

    Ecco se si usano i due punti invece delle parentesi graffe e con endif; di chiusura.

    <?php $error = 0;
    $result = array('firstName' => 'MARIO', 'lastName' => 'ROSSI', 'email' => 'la sua email'); ?>
    <?php if(0 !== $error): ?>
    <?php echo $error ?>
    <?php elseif(empty($result)): ?>
    <?php echo 'hi' ?>
    <?php else: ?>
    <?php echo '$error é uguale a ' . $error ?>
    <?php endif; ?>

    Che stampa l'unica condizione vera, else in questo esempio $error é uguale a 0.

Devi accedere o registrarti per scrivere nel forum
1 risposte