Newsgroup: it.comp.www.php
Titolo: script che gira solo su alcuni server

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd
">
questo script gira solo su alcuni server ma non su altri. (sul mio serrver
locale di prova non funziona ad esempio)
uso easyphp 1.8 per chiarezza.
non mi restituisce nessun errore ma la variabile $chiave viene
interpretata o no a seconda che giri su alcuni server e non su altri.
devo impostare qualcosa nel php.ini?
<html>
<head>
<title>Sans Titre</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<meta name="generator" content="HAPedit 3.1">
</head>
<body bgcolor="#FFFFFF">
<?php
$db_host="blo0981a11";
$db_login="root";
$db_pass="";
$database="test";
if ((@!$link) or (@$link == "home")){
echo "<html>
<head>
<title>Cerca Corrispondenze</title>
</head>
<body>
<TABLE border=\"1\" width=\"100%\" bordercolor=\"#000000\"
bgcolor=\"#008080\" cellpadding=\"0\">
<tr>
<td width=\"100%\" colspan=\"2\">
<p align=\"center\"><font size=\"4\">
<b>La mia rubrica</b></font></td>
</tr>
<tr>
<td width=\"26%\" valign=\"top\">
<TABLE border=\"1\" width=\"100%\" bgcolor=\"#C0C0C0\"
bordercolor=\"#008000\">
<tr>
<td width=\"101%\" colspan=\"2\">
<p align=\"center\"><b>";
//include($DOCUMENT_ROOT."/php/dati_predefiniti.php");
$link=mysql_connect("$db_host","$db_login","$db_pass");
$tutto = "SELECT * FROM rubrica";
$query = mysql_db_query ($database,$tutto)
or die ("Non riesco ad eseguire la richiesta $tutto");
$righe = mysql_num_rows ($query);
echo "La rubrica contiene $righe contatti</b></td>
</tr><tr><td width=\"50%\">
<p align=\"center\">
<form method=POST action=$PHP_SELF>
<input type=\"text\" name=\"chiave\" size=\"10\"></td>
<td width=\"50%\"><p align=\"center\">
<SELECT size=1 name=valore>
<option>nome</option>
<option>cognome</option>
<option>via</option>
<option>telefono</option>
<option>città</option>
</select></td></tr><tr>
<td width=\"101%\" colspan=\"2\">
<p align=\"center\">
<input type=\"submit\" value=\"Cerca Corrispondenze\">
</td></form></tr></table>
</td><td width=\"74%\">
<center><TABLE border=\"0\" width=\"99%\" bgcolor=\"#C0C0C0\">
<tr>";
if (isset($chiave)){
$dati=mysql_db_query("$database","SELECT * FROM rubrica
WHERE $valore LIKE '%$chiave%'");
while ($row = mysql_fetch_array ($dati)){
$verifica=$row["cognome"];
echo "<tr><td width=50%><b><br>";
echo $row["titolo"]." ".$row["cognome"]." ".$row["nome"]."<br>";
echo "Via: ".$row["via"]."<br>";
echo "Tel: ".$row["telefono"]."<br>";
echo "Città: ".$row["citta"]."";
echo "</b></td>
<td width=24% valign=\"bottom\">
<form method=\"POST\" action=$PHP_SELF?link=avviso>
<input type=\"hidden\" name=\"id\" value=".$row["id"].">".
"<input type=\"hidden\" name=\"titolo\" value=".$row["titolo"].">".
"<input type=\"hidden\" name=\"nome\" value=".$row["nome"].">".
"<input type=\"hidden\" name=\"cognome\" value=".$row["cognome"].">".
"<input type=\"hidden\" name=\"via\" value=".$row["via"].">".
"<input type=\"hidden\" name=\"cap\" value=".$row["cap"].">".
"<input type=\"hidden\" name=\"citta\" value=".$row["citta"].">".
"<input type=\"hidden\" name=\"provincia\" value=".$row["provincia"].">".
"<input type=\"hidden\" name=\"telefono\" value=".$row["telefono"].">".
"<input type=\"hidden\" name=\"cellulare\" value=".$row["cellulare"].">".
"<input type=submit value=\" Elimina \">
</td>
<td width=\"26%\" valign=\"bottom\"></form>
<form method=\"POST\" action=$PHP_SELF?link=modifica>
<input type=\"text\" name=\"id\" value=".$row["id"].">".
"<input type=\"text\" name=\"titolo\" value=".$row["titolo"].">".
"<input type=\"text\" name=\"nome\" value=".$row["nome"].">".
"<input type=\"text\" name=\"cognome\" value=".$row["cognome"].">".
"<input type=\"text\" name=\"via\" value=".$row["via"].">".
"<input type=\"text\" name=\"cap\" value=".$row["cap"].">".
"<input type=\"text\" name=\"citta\" value=".$row["citta"].">".
"<input type=\"text\" name=\"provincia\" value=".$row["provincia"].">".
"<input type=\"text\" name=\"telefono\" value=".$row["telefono"].">".
"<input type=\"text\" name=\"cellulare\" value=".$row["cellulare"].">".
"<input type=\"submit\" value=\" Modifica1 \">
</td>
<tr>
<td width=\"100%\" colspan=\"3\"></form><hr size=1 color=#000000></td>
</tr>";
}
if (@!$verifica){
print ("Nessuna corrispondenza nella colonna
<font color=#000080>$valore</font>
per la parola <font color=#000080>$chiave</font>");
}
mysql_free_result ($dati);
}else{
echo "Elenco Corrispondenze";
}
mysql_free_result ($query);
mysql_close ($link);
echo "</tr>
</table></center>
</td></tr></table>";
} elseif ($link == "avviso"){
echo "Attenzione!!! Si sta scegliendo di eliminare dalla rubrica
il seguente contatto:<br>
$titolo $nome $cognome<br>
via $via, $cap $citta<br>
$provincia. Tel. $telefono<br>
Vuoi proseguire?
<form method=\"POST\" action=$PHP_SELF?link=del>
<input type=\"hidden\" name=\"identificativo\" value=".$id.">".
"<input type=submit value=\"Sì\">
</form>";
} elseif ($link == "del"){
//include($DOCUMENT_ROOT."/php/dati_predefiniti.php");
$link=mysql_connect("$db_host","$db_login","$db_pass")
or die ("Non riesco a connettermi a $db_host");
$ric_sql = "DELETE FROM rubrica where id='$identificativo'";
mysql_db_query("$database", "$ric_sql")
or die ("Non riesco ad eseguire la richiesta $ric_sql");
mysql_close ($link);
echo "Contatto eliminato con successo!";
echo "<meta http-equiv=refresh content=3;url=$PHP_SELF?link=home>";
} elseif ($link == "modifica"){
echo "<TABLE border=\"0\" width=\"100%\">
<tr><td width=\"100%\" colspan=\"2\">
<b>Modifica dati, lasciando inalterati i campi corretti.</b>
<form method=\"POST\" action=$PHP_SELF?link=mod_dati></td>
</tr>
<tr>
<td width=\"13%\"><b>Titolo</b></td>
<td width=\"87%\"><b>
<input type=\"hidden\" name=\"id\" value=$id>
<input type=\"text\" name=\"titolo\" size=\"20\"
value=\"$titolo\"></b></td>
</tr>
<tr>
<td width=\"13%\"><b>Nome</b></td>
<td width=\"87%\"><b>
<input type=\"text\" name=\"nome\" size=\"20\" value=\"$nome\"></b></td>
</tr>
<tr>
<td width=\"13%\"><b>Cognome</b></td>
<td width=\"87%\"><b>
<input type=\"text\" name=\"cognome\" size=\"20\"
value=\"$cognome\"></b></td>
</tr>
<tr>
<td width=\"13%\"><b>Via</b></td>
<td width=\"87%\"><b>
<input type=\"text\" name=\"via\" size=\"20\" value=\"$via\"></b></td>
</tr>
<tr>
<td width=\"13%\"><b>Città</b></td>
<td width=\"87%\"><b>
<input type=\"text\" name=\"citta\" size=\"20\" value=\"$citta\"></b></td>
</tr>
<tr>
<td width=\"13%\"><b>Provincia</b></td>
<td width=\"87%\"><b>
<input type=\"text\" name=\"provincia\" size=\"20\"
value=\"$provincia\"></b></td>
</tr>
<tr>
<td width=\"13%\"><b>CAP</b></td>
<td width=\"87%\"><b>
<input type=\"text\" name=\"cap\" size=\"20\" value=\"$cap\"></b></td>
</tr>
<tr>
<td width=\"13%\"><b>Telefono</b></td>
<td width=\"87%\"><b>
<input type=\"text\" name=\"telefono\" size=\"20\"
value=\"$telefono\"></b></td>
</tr>
<tr>
<td width=\"13%\"><b>Cellulare</b></td>
<td width=\"87%\"><b>
<input type=\"text\" name=\"cellulare\" size=\"20\"
value=\"$cellulare\"></b></td>
</tr>
<tr>
<td width=\"13%\"><input type=\"submit\" value=\"Modifica\"></td>
<td width=\"87%\"></form></td>
</tr>
</table>";
} elseif ($link == "mod_dati"){
//include($DOCUMENT_ROOT."/php/dati_predefiniti.php");
$link=mysql_connect("$db_host","$db_login","$db_pass")
or die ("Non riesco a connettermi a $db_host");
mysql_db_query("$database", "UPDATE rubrica SET
titolo = '$titolo',
nome = '$nome',
cognome = '$cognome',
via = '$via',
citta = '$citta',
provincia = '$provincia',
cap = '$cap',
telefono = '$telefono',
cellulare = '$cellulare'
WHERE id = '$id'")
or die ("Non riesco ad eseguire la richiesta $ric_sql");
mysql_close ($link);
echo "Il contatto destinato a $nome $cognome, è stato modificato con
successo!";
echo "<meta http-equiv=refresh content=3;url=$PHP_SELF?link=home>";
}
?> 
</body>
</html>
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Prova ad usare la variabile superglobale per richiamare $chiave
if (isset( $_POST['chave']){
....
...

ilmila ha scritto:


innanzitutto grazie per la risposta
si con quello funziona anzi forse meglio con $request ma volevo capire
come mai questo diverso funzionamento


Riguarda il file di configurazione del php se accetta o no le variabili
globali
register_globals=On|off
per motivi di sicurezza molti utilizzano di disabilitare le variabili
globali
http://www.php.net/manual/en/configuration.php#ini.register-globals
e accettano solo le variabili superglobali
$_POST[] $_GET[] $_COOKIE[] ....

 $_POST[] $_GET[] $_COOKIE[] ....
perfetto era proprio questo
mille grazie
