Da index.php non passa a search_result.php

di il
3 risposte

Da index.php non passa a search_result.php

Salve,

Grazie a Hormus per il precedente problema,

ora ne ho un altro

Cerca Utente

digita Email(text)

Ricerca Utente(bottone)

da Index.php riempio il text che cerco, click su bottone  verso search_result.php ma non c'è risposta , continua a girare senza risultati

potete aiutarmi, grazie

di seguito i programmi

index.php

<!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>Cerca un Utente</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" id="navbarNavAltMarkup">
              <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>

          <h1>Cerca Utente</h1>
          <form action="search_result.php" method="post">
            <div class="form-group">
              <label for="exampleInputEmail1">Email</label>
              <input type="email" name="email" class="form-control" placeholder="Enter email">
              <small class="form-text text-muted">Ricerca Utente</small>
            </div>
            <button type="submit" class="btn btn-primary">Cerca</button>
          </form>
        </div>
      </div>
    </div>
  </body>
</html>

search_result.php

<?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 ($error): ?>
            <div class="alert alert-danger" role="alert"><?php echo $error ?></div>
          <?php elseif (empty($result)): ?>
            <div class="alert alert-warning" role="alert">Non trovato nelle email <?php echo $email ?></div>
          <?php else: ?>
            <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>

3 Risposte

  • Re: Da index.php non passa a search_result.php

    Ciao Zeusmax, figurati se possibile ti si aiuta (ovviamente).

    Ci sono delle variabili PHP non definite, ovvero la loro essenza di valore sarà impostata al valore null dal motore PHP quando possibile ( per default ma non é garantito).

    La variabile $error se contiene un valore intero e che quindi nessun errore é esattamente uguale a 0, puoi applicare diverso da 0. Definire ulteriormente la variabile $error con l'errore appropriato. Anche $email che é il valore di $result['email'] (non il valore direttamente inviato dal form poiché é già esistente se presente nel database).

    Inoltre l'istruzione SQL dovrà includere ogni campo da restituire SELECT firstName,lastName,email FROM email (attenzione significa più email e non direttamente l'email che può essere univoca se prevista dalla logica implementativa del database) poiché successivamente si usano nel documento HTML.

    if(0 !== $error) {
    echo 'errore generico';
    }

    Infine una mia considerazione personale.

    Il regolamento del Forum 9 g. Richiedere la "pappa pronta"   
    Evitare di richiedere la così detta "pappa pronta". In un forum prima di tutto si aiuta l'utente, indirizzandolo sulla soluzione migliore. Gli spezzoni di codice che vengono dati non sono da intendere come soluzione definitiva, ma un esempio su come procedere.   

    Signor Zeusmax non fraintenda, lei non richiede pappa pronta... Per così dire è più uno scambio di idee che possano permare nel suo percorso dedicato alla programmazione (chi offre il suo tempo é soddisfatto di vedere i risultati da lei ottenuti)

  • Re: Da index.php non passa a search_result.php

    Grazie Hormus,

    certo ci sono le regole e vanno rispettate,

    io non ho chiesto un form pronto per .....

    ma cosa nel mio form non va

    ti giuro che ho faticato non poco per mettere insieme questa piccola applicazione

    e sto studiando per capire meglio.

    io sono un project manager, conosco cobol, vb6, vb.net, html, Sql perfettamente , wordpress abbastanza bene e altro

    ora ho fatto un sito html5 per mia figlia e vorrei poterlo aggiornare dal database

    e questo devo farlo in php al quale mi sto approcciando

    qui devo solo leggere se una mail è presente nel database

    ok, scusa le chiacchiere ma non credevo di aver chiesto troppo

    detto questo,

    ancora grazie per la risposta

  • Re: Da index.php non passa a search_result.php

    Scusa Zeusmax non era mia intenzione, ti ho scritto la soluzione... Non ho mai detto che hai chiesto il form pronto ma che mi piace che apprendi.

    No non é il tuo caso, non é chiedere troppo. Se qualcosa alla risposta precedente per le variabili non é chiara puoi chiedere tranquillamente 

Devi accedere o registrarti per scrivere nel forum
3 risposte