Errore end of file

di il
4 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>

4 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.

  • Re: Errore end of file

    Ciao 

    ho riscritto il file php per me un po più chiaro,

    ma non so se parte dopo chiamato,

    come posso fare per capire se è partito o no

    ho provato a mettere un "echo" ma non vedo niente

    inoltre per il database devo dare il percorso o è sufficiente il nome (la cartella è in htdocs di xampp, apache è avviato

    questo è il nuovo file php

    grazie

    <!doctype html>
    <html>
    
    <head>
    <meta charset="utf-8">
    <title>Cerca Email</title>
    <link href="Style.css" rel="stylesheet" type="text/css">
    </head>
    
    <body>
    
    <?php
    	
    $message = "inzio ricerca";
    echo "<script type='text/javascript'>alert('$message');</script>";
    	
    // Imposto i parametri di connessione al database
    $servername = "localhost";
    $username = "root"; 
    $password = "miapwd"; 
    $dbname = "romaestre"; 
    $port = 500;
    	
    // Creo la connessione
    	
    	
    $conn = new mysqli($servername, $username, $password, $dbname, $port);
    
    // Controllo la connessione
    if ($conn->connect_error) {
        die("Connessione fallita: " . $conn->connect_error);
    }
    
    // Se è stato inviato il modulo, eseguo la ricerca
    if (isset($_POST['email'])) {
        $email = $_POST['email'];
    
        // Preparo ed eseguo la query per cercare l'email
        $stmt = $conn->prepare("SELECT nome FROM email WHERE email = $email");
        $stmt->bind_param("s", $email);
        $stmt->execute();
        $stmt->store_result();
    
        if ($stmt->num_rows > 0) {
            // Se l'email esiste, prendo il nome del proprietario
            $stmt->bind_result($nome);
            $stmt->fetch();
            echo "Il proprietario dell'email $email è: $nome";
        } else {
            echo "Nessun risultato trovato per l'email $email.";
        }
    
        $stmt->close();
    }
    
    $conn->close();
    ?>
    
    </body>
    </html>
  • Re: Errore end of file

    Salve Zeusmax, la condizione é vera quando definita (isset) $_POST['email']. Manca il form html in modo che l'agente utente (browser) possa inviare il valore stringa tramite richiesta POST. Inoltre per variabili di fonti esterne https://www.php.net/manual/it/language.variables.external.php#language.variables.external

  • Re: Errore end of file

    Salve,

    scusatemi, ora posto il form html 

    grazie

    <!DOCTYPE html>
    <html lang="it">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Cerca Email</title>
        <link rel="stylesheet" href="style.css">
    </head>
    <body>
        <div class="container">
            <h1>Cerca Proprietario per Email</h1>
            <form action="cerca_email.php" method="POST">
                <label for="email">Inserisci l'email:</label>
                <input type="email" id="email" name="email" required>
                <button type="submit">Cerca</button>
            </form>
        </div>
    </body>
    </html>
Devi accedere o registrarti per scrivere nel forum
4 risposte