Eroare Undefined index la Interogare cu date din formular

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
puiumik
Mesaje:1

Eroare Undefined index la Interogare cu date din formular

Buna, am si eu o problema. Am creat o baza de date in MySql si am introdus 3 inregistrari. As vrea sa imi afiseze o inregistrare pe care eu o introduc de la tastatura dupa nume si prenume, dar primesc 2 erori.

Astea sunt erorile care le primesc:

Cod: Selectaţi tot

Notice: Undefined index: nume in C:\xampp\htdocs\site\conexiune2.php on line 10
Notice: Undefined index: prenume in C:\xampp\htdocs\site\conexiune2.php on line 11
Linia 10 si 11 fiind codul acesta:

Cod: Selectaţi tot

$nume = $_POST['nume'];
$prenume = $_POST['prenume'];
Multumesc anticipat.

Codul arata cam asa:
COD HTML

Cod: Selectaţi tot

<html>
<title>Interogare cu parametrii</title>
<center>
<head><H1>Interogare cu parametrii</H1></head>
</center>

 <form method="POST" action="http://localhost/site/conexiune2.php"> 

<table border=10 align=center BGCOLOR="Silver">
<td>
Nume:<input type="text" name="nume" size="10"><br>
Prenume:<input type="text" name="prenume" size="10"><br>
<input type="SUBMIT" value="Cauta" >
<input type="RESET" value="Reset" >
</td>
</table>
</form>
</html>
Si COD PHP

Cod: Selectaţi tot

?php
mysql_connect("localhost","root","madalina") or die ("Nu se poate conecta la serverul MySQL");
mysql_select_db("baza") or die("Nu se poate selecta baza de date");

echo "<br><br>";

//Preluarea cu metoda POST a parametrilor transmişi de către fişierul HTML spre scriptul PHP
$nume = $_POST['nume'];
$prenume = $_POST['prenume'];
// Interogare cu parametri
$query=mysql_query("select * from angajati where nume ='$nume' and prenume='$prenume'");

//Calculează DIRECT nr. de inregistrari returnate prin interogare
$nr_inreg=@mysql_num_rows($query);

if ($nr_inreg>0){
echo "<center>";
echo "S-au gasit " . $nr_inreg . " inregistrari";
echo"</center>";
echo"<table border='2' align='center'>";
echo"<tr bgcolor='silver'>";
echo '<th> ID </th>';
echo '<th> Nr </th>';
echo '<th> Nume </th>';
echo '<th> Prenume </th>';
echo '<th> Salariul Brut </th>';
echo '<th> Impozit </th>';
echo '<th> Salariul Net </th>';
echo"</tr>";

while($row=mysql_fetch_row($query)){
echo"<tr>";
foreach ($row as $value){
echo "<td>$value</td>";
}
echo"</tr>";
}
echo"</table>";
}
else{
echo"<center>";
echo "Nu s-a gasit nici o inregistrare!!!";
echo"</center>";
}
mysql_close();

MarPlo Mesaje:4343
Salut
Acea eroare apare fiindca PHP nu primeste date pt: $_POST['nume'] cand fisierul nu e accesat prin trimiterea formularului.
Ca sa nu mai apara acea eroare, ar trebui verificat cu isset() daca acea variabila POST_$ exista.
Ceva asa:

Cod: Selectaţi tot

if(isset($_POST['nume']) && isset($_POST['prenume'])) {
  $nume = $_POST['nume'];
  $prenume = $_POST['prenume'];

  // restul codului ce foloseste date din formular
}
else {
  // cod execuat cand nu sunt trimise date din formular
}

Subiecte similare