• User Attivo

    Errore nel cercare il cliente

    Ciao! Perchè mi dà errore?
    Pagina cerca_cliente.php
    [PHP]<?php
    require('config.php');
    if(!isset($_SESSION['login']))
    {
    header('Location: localhost/login.php');
    exit;
    }
    $default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));

    ?>

    <b><h1>CERCA CLIENTE</h1></b><br>

    <?php
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);
    ?>
    <html>
    <form action="trova_cliente.php" method="post" name="trova_cliente">

    COGNOME <input type="text" name="cognome"><br><br>
    NOME <input type="text" name="nome"><br><br>
    <input type="submit" value="cerca_cliente">
    </form>
    </html>[/PHP]

    Pagina trova_cliente.php

    [PHP]<?php
    require('config.php');
    if(!isset($_SESSION['login']))
    {
    header('Location: localhost/login.php');
    exit;
    }
    $default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));

    ?>

    <?php
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);

    $cognome = $_POST['cognome'];
    $nome = $_POST['nome'];

    $query = "SELECT * FROM inserimento_dati WHERE (cognome='$cognome' AND nome = '$nome') OR (cognome='$nome' AND nome = '$cognome')";

    $result = mysql_query($query);
    $_POST = mysql_fetch_array($result);

    if ($_POST['cognome'] ['nome'])
    echo ("<b>Trovato</b> <a href="risultato_dati.php" title=""> $cognome </a></td><td><a href="risultato_dati.php" title=""> $nome </a>");
    else echo ("<b>Non trovato</b> $cognome $nome");
    [/PHP]

    Mi trova il cliente ma mi scrive questo:

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\programmi\easyphp1-8\www\trova_paziente.php:3) in c:\programmi\easyphp1-8\www\config.php on line 2

    Grazie!


  • User Attivo

    Ciao,

    
    **Warning**: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\programmi\easyphp1-8\www\trova_paziente.php:3) in **c:\programmi\easyphp1-8\www\config.php** on line **2**
    

    Significa che alla riga 2 del file config.php viene generato un output dallo script e di conseguenza non può più inizire la sessione con session_start().

    Non hai postato il codice di config.php, quindi è impossibile sapere di preciso dove sia l'errore.

    Alessandro


  • User Attivo

    Ciao Fabrizio23,
    session_start() posizionala sempre appena dopo le include.

    La sessione va caricata prima che sia generato qualsiasi output sulla pagina
    (include ovviamente non genera degli output).

    Ciao


  • User Attivo

    Ciao!
    Il file config.php

    [PHP]<?php
    session_start();
    $db_host = 'localhost';
    $db_utente = 'root';
    $db_password = '';
    $db_nomedb = '';
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);
    ?>[/PHP]

    Grazie! 😉


  • User Attivo

    Se nel secondo file trova_cliente.php tolgo

    [PHP]<?php
    require('config.php');
    if(!isset($_SESSION['login']))
    {
    header('Location: localhost/login.php');
    exit;
    }
    $default = mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));

    ?>
    [/PHP]
    ...allora non mi dà più nessun errore...ma così nel file può entrare chiunque non avendo più il controllo del login.
    Oppure basta metterlo solo nel primo file cerca_cliente.php?

    Grazie!