- Home
- Categorie
- Coding e Sistemistica
- PHP
- Errore nel cercare il cliente
-
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!
-
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
-
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
-
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!
-
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!