Notice: Undefined index:

p.ghisolfi

Nuovo Utente
30 Mag 2013
9
0
0
Ciao a tutti,

sono nuovo da queste parti, io ho un problema che non riesco proprio a risolvere:

ho uno script che funziona perfettamente, a parte il fatto che se non inserisco nulla in un form, mi risponde con il messaggio: Notice: Undefined index: (cioè quando carico per la prima volta la pagina php, per poi inserire il valore per fare la query). Posto il codice completo:


HTML:
<body>
<div id="searchwrapper">
<center><form name="s" id="form" action="index.php?ricerca=ok" method="POST" id="search-form" class="searchbox">
     <div id="suggest">
      <input type="text" name="cerca" size="50" value="" id="country" onkeyup="suggest(this.value);" onblur="fill();" class="" autocomplete='off' placeholder='Ricerca...' />
	  <input type='submit' value='Cerca'>
      <div class="suggestionsBox" id="suggestions" style="display: none;"> <img src="arrow.png" style="position: relative; top: -12px; left: 30px;" alt="upArrow" />
        <div class="suggestionList" id="suggestionsList"> &nbsp; </div>
      </div>
   </div>
</form></center>
</div>
<center><br><br><br>----------------------------<br><br><br></center>
</body>
</html>


PHP:
<?php
$db_host = "localhost";
$db_user = "xxxx";
$db_password = "yyyy";
$db_name = "zzzz";
$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');
$ricerca = $_GET['ricerca'];
if ( $ricerca == 'ok' ) {
$cerca = $_POST['cerca'];
if ( $cerca == TRUE && $cerca != "" ) {
if ( strlen($cerca) >= 1 ) {
$cerca =  mysql_real_escape_string(stripslashes($cerca));
$query = "SELECT * FROM 1234 WHERE 5678 LIKE '$cerca'";
$risultato = mysql_query($query) or die (mysql_error());
$risposta = mysql_query($query) or die ("Utilizza termini più specifici!");
$dentro_la_query= mysql_fetch_assoc($risposta);
if ( $dentro_la_query == TRUE ) {
while($row= mysql_fetch_assoc($risultato)) {
$1 = $row['1'];
$2 = $row['2'];
$3 = $row['3'];
$4 = $row['4'];
$5 = $row['5'];
$6 = $row['6'];
$7 = $row['7'];
$8 = $row['8'];
$9 = $row['9'];
$10 = $row['10'];
$11 = $row['11'];
$immagine_1 = $row['immagine_1'];
$immagine_2 = $row['immagine_2'];
$indirizzo_1 = $row['indirizzo_1'];
echo "<center><table border='1' width='850' bordercolor='#000000'>
 <tr>
  <td width='350'>1: <b>$1</b><br></td>
  <td>2 : $2</td>
  <td>3: $3</td>
  <td>4: $pr</td>
  <td>5: </td>
  <td>$immagine_1</td>
 </tr>
 <tr>
  <td>6: $cap</td>
  <td>7: $6" . "-$7</td>
  <td>8: $6" . "-$8</td>
  </tr>
</table><br><br>----------------------------<br><br><br><br>";



}

} else {

echo "Nessun temine alla ricerca trovato";

}


} else {

echo "Devi inserire almeno 3 caratteri";

}

} else {

echo "Non hai compilato il modulo ricerca";

}

}

?>

HELP ME PLEASEEEEE!!!!

inoltre avrei anche il problema che riesco a risolvere lo script solo se in unica pagina, ho provato a dividere lo script in 2, un html e la parte php in cerca.php, ma nulla, mi risponde con la pagina cerca.php vuota....

Grazie per l'aiuto che mi riuscirete a dare...

P.
 

Allegati

  • Immagine.png
    Immagine.png
    7,9 KB · Visite: 207
  • Immagine.jpg
    Immagine.jpg
    12,7 KB · Visite: 256

p.ghisolfi

Nuovo Utente
30 Mag 2013
9
0
0
Grazie per la risposta,

$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');
$ricerca = $_GET['ricerca'];
if ( $ricerca == 'ok' ) {

$cerca = $_POST['cerca'];

in questo punto...
 

p.ghisolfi

Nuovo Utente
30 Mag 2013
9
0
0
io ho caricato i file su un server localhost, e mi dà l'errore, online no (server linux aruba), forse è dovuto al fatto che online è disabilitato il display_errors

P.
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
metti una if prima del $_post

Prova cosi :

PHP:
<?php
if ($_POST['cerca'] == null) {
				   ?>
    <script> 
        alert('Inserisci almeno 2 caratteri');  // vedi anche 1 non saprei...
        location.href='cerca.htm';
    </script>
 <?php
 } else  {
$cerca=$_POST['cerca'];
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
correggi
HTML:
<input type='submit' value='Cerca'>
in
HTML:
<input type='submit' name="cerca" value='Cerca'>
stai attento anche alle maiuscole/minuscole
i nomi delle variabile in php sono casesensitive
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
intanto una cosa ho provato copy/paste il tuo form e il mio editor da errore sul tag <form
ci sono all'internp due definizioni di id togline una o id="form" o id="search-form"

poi per il name ho sbagliato io non mi ero accorto che l'input text si chiama cerca
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova a correggere così
PHP:
<?php
$db_host = "localhost";
$db_user = "xxxx";
$db_password = "yyyy";
$db_name = "zzzz";
$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');
if ( isset($_GET['ricerca']) &&  $_GET['ricerca']== 'ok' ) {
	if ( isset($_POST['cerca']) && $_POST['cerca'] != "" ) {
		$cerca = $_POST['cerca'];
		if ( strlen($cerca) >= 1 ) {
			$cerca =  mysql_real_escape_string(stripslashes($cerca));
			$query = "SELECT * FROM 1234 WHERE 5678 LIKE '$cerca'";
			$risultato = mysql_query($query) or die (mysql_error());
			$risposta = mysql_query($query) or die ("Utilizza termini più specifici!");
			$dentro_la_query= mysql_fetch_assoc($risposta);
			if ( mysql_num_rows($dentro_la_query) > 0 ) {//è meglio verificare il numero
				while($row= mysql_fetch_assoc($risultato)) {
					$1 = $row['1'];
					$2 = $row['2'];
					$3 = $row['3'];
					$4 = $row['4'];
					$5 = $row['5'];
					$6 = $row['6'];
					$7 = $row['7'];
					$8 = $row['8'];
					$9 = $row['9'];
					$10 = $row['10'];
					$11 = $row['11'];
					$immagine_1 = $row['immagine_1'];
					$immagine_2 = $row['immagine_2'];
					$indirizzo_1 = $row['indirizzo_1'];
					echo "<center><table border='1' width='850' bordercolor='#000000'>
 							<tr>
  							<td width='350'>1: <b>$1</b><br></td>
  							<td>2 : $2</td>
  							<td>3: $3</td>
  							<td>4: $pr</td>
  							<td>5: </td>
  							<td>$immagine_1</td>
 							</tr>
 							<tr>
  							<td>6: $cap</td>
 							 <td>7: $6" . "-$7</td>
  							<td>8: $6" . "-$8</td>
  							</tr>
							</table><br><br>----------------------------<br><br><br><br>";
				}
			} else {
				echo "Nessun temine alla ricerca trovato";
			}
		} else {
			echo "Devi inserire almeno 3 caratteri";
		}
	} else {
		echo "Non hai compilato il modulo ricerca";
	}
}
?>
poi indenta il codice per facilitare la lettura e abbandona le query MySQL e passa alla classe PDO o a MySQLi
 

p.ghisolfi

Nuovo Utente
30 Mag 2013
9
0
0
Grazie infinite, provo nel weekend, poi ti faccio sapere

P.


ciao
prova a correggere così
PHP:
<?php
$db_host = "localhost";
$db_user = "xxxx";
$db_password = "yyyy";
$db_name = "zzzz";
$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');
if ( isset($_GET['ricerca']) &&  $_GET['ricerca']== 'ok' ) {
	if ( isset($_POST['cerca']) && $_POST['cerca'] != "" ) {
		$cerca = $_POST['cerca'];
		if ( strlen($cerca) >= 1 ) {
			$cerca =  mysql_real_escape_string(stripslashes($cerca));
			$query = "SELECT * FROM 1234 WHERE 5678 LIKE '$cerca'";
			$risultato = mysql_query($query) or die (mysql_error());
			$risposta = mysql_query($query) or die ("Utilizza termini più specifici!");
			$dentro_la_query= mysql_fetch_assoc($risposta);
			if ( mysql_num_rows($dentro_la_query) > 0 ) {//è meglio verificare il numero
				while($row= mysql_fetch_assoc($risultato)) {
					$1 = $row['1'];
					$2 = $row['2'];
					$3 = $row['3'];
					$4 = $row['4'];
					$5 = $row['5'];
					$6 = $row['6'];
					$7 = $row['7'];
					$8 = $row['8'];
					$9 = $row['9'];
					$10 = $row['10'];
					$11 = $row['11'];
					$immagine_1 = $row['immagine_1'];
					$immagine_2 = $row['immagine_2'];
					$indirizzo_1 = $row['indirizzo_1'];
					echo "<center><table border='1' width='850' bordercolor='#000000'>
 							<tr>
  							<td width='350'>1: <b>$1</b><br></td>
  							<td>2 : $2</td>
  							<td>3: $3</td>
  							<td>4: $pr</td>
  							<td>5: </td>
  							<td>$immagine_1</td>
 							</tr>
 							<tr>
  							<td>6: $cap</td>
 							 <td>7: $6" . "-$7</td>
  							<td>8: $6" . "-$8</td>
  							</tr>
							</table><br><br>----------------------------<br><br><br><br>";
				}
			} else {
				echo "Nessun temine alla ricerca trovato";
			}
		} else {
			echo "Devi inserire almeno 3 caratteri";
		}
	} else {
		echo "Non hai compilato il modulo ricerca";
	}
}
?>
poi indenta il codice per facilitare la lettura e abbandona le query MySQL e passa alla classe PDO o a MySQLi
 

Marchino

Nuovo Utente
6 Giu 2013
1
0
0
Apparte la gran confusione di codice... Non c'è bisogno che in una if controlli con TRUE... Basta scrivere if($var) se è TRUE prosegue...
Comunque nella query il like si esegue con %
LIKE %'".$variabile.'"%


Ciao, stesso errore...

ma come riesco a separare le pagine (html o php, con risultato su un'altra pagina?

grazie infinite..

P.
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Errore PHP - Notice: Undefined index ... PHP 14
K [PHP] Notice: Undefined index PHP 3
Q Notice: Undefined index: codice in C:\xampp\htdocs\STAGE\calendario\modifica.php on line 10 PHP 8
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
MilanMilan [PHP] Notice:Undefined index PHP 2
Shyson Notice: Undefined index ma non trovo l'errore PHP 8
S Notice: Undefined index: azione in PHP 6
L Notice: Undefined index in versione classe PHP 1
L Risolvere i problemi dei messaggi:-> Notice: Undefined index PHP 3
I Notice: Undefined index: utente in C: PHP 14
N problemi con notice undefined index PHP 16
O Notice: Undefined index PHP 12
L Notice: undefined constant PHP 3
C VACANCY NOTICE for WEB DEVELOPER (Firenze) Offerte e Richieste di Lavoro e/o Collaborazione 0
M Notice: Undefinied Index PHP 8
R problema con le variabili e i notice.... PHP 1
G Errore Cannot read property 'childNodes' of undefined per mancanza nodo nel file xml XML 6
A [PHP] Undefined index dopo query dal server PHP 1
C [PHP] Errore "Fatal error: Call to undefined function getTotalUsers()" PHP 2
M [RISOLTO] jQuery non funziona... valore "undefined" jQuery 2
A errore: Unable to get property 'inline' of undefined or null reference jQuery 1
U [PHP] form per ricerca multipla: Unknown column 'undefined' in 'where clause' PHP 2
L [PHP] risolvere problema Undefined variable PHP 0
G Fatal error: Uncaught Error: Call to undefined method UserController PHP 0
O Fatal error: Call to undefined function testNome() in C:\xampp\...\...\index.php on line 51 PHP 4
P Fatal error: Call to undefined method SMTP::setTimeout() PHP 4
L [risolto] Undefined variable: in programmazione oop PHP 12
V undefined variable error PHP 6
P Problema di Undefined variable nel codice PHP PHP 5
J Problema con questo errore Error was: Undefined index: title linea 9 PHP 21
L problema con l'Undefined index per una $_GET PHP 6
R Undefined offset in php PHP 29
P radiobutton e index undefined PHP 4
M fatal error: Call to undefined function gdrcd_filter() PHP 6
C Variabile Undefined PHP 13
G Variabile undefined Javascript 5
F Fatal error: Call to undefined function PHP 9
L Problema con Undefined index . PHP 1
L Fatal error: Call to undefined method Paging::listaPagine() PHP 2
borgo italia Undefined index PHP 12
S responseText undefined? Ajax 3
E Sys is undefined Ajax 1
P Undefined constant PHP 5
M errore Undefined variable sql_mode PHP 6
H Call to undefined function: oci_parse() PHP 0
L Fatal error: Call to undefined function virtual() in C:\Inetpub\wwwroot\... PHP 1
P Call to undefined function mysql_connect() PHP 2
B Valori Radio "undefined" Javascript 5
F Caricamento index rotto PHP 1
C Form email php su pagina index.html? PHP 21

Discussioni simili