Salve a tutti, ho questa pagina che mi consente di inserire dei campi all'interno di un database mysql(form d'inserimento con immagine di verifica), fuzionante in php4, purtroppo ho dovuto aggiornare la piattaforma server da php4 a php5 ed adesso non funziona più... il record viene creato nella tabella ma i campi sono vuoti ad eccezione del campo url che sarà uguale a / dovuto in un append nella function addsite chi mi può aiutare?
grazie
Codice PHP:
<?
echo "<title>site</title>";
include("top_foot.inc.php");
include("config.inc.php");
top();
function addsite ($url, $title, $short_desc, $cat) {
global $mysql_table_prefix;
$short_desc = addslashes($short_desc);
$title = addslashes($title);
$compurl=parse_url("".$url);
if ($compurl['path']=='')
$url=$url."/";
$result = mysql_query("select site_ID from ".$mysql_table_prefix."sites where url='$url'");
echo mysql_error();
$rows = mysql_numrows($result);
if ($rows==0 ) {
mysql_query("INSERT INTO ".$mysql_table_prefix."sites (url, title, short_desc) VALUES ('$url', '$title', '$short_desc')");
echo mysql_error();
$result = mysql_query("select site_ID from ".$mysql_table_prefix."sites where url='$url'");
echo mysql_error();
$row = mysql_fetch_row($result);
$site_id = $row[0];
$result=mysql_query("select category_id from ".$mysql_table_prefix."categories");
echo mysql_error();
while ($row=mysql_fetch_row($result)) {
$cat_id=$row[0];
if ($cat[$cat_id]=='on') {
mysql_query("INSERT INTO ".$mysql_table_prefix."site_category (site_id, category_id) values ('$site_id', '$cat_id')");
echo mysql_error();
}
}
If (!mysql_error()) {
$message = "
<center>[b]Site added[/b]</center>" ;
} else {
$message = mysql_error();
}
} else {
$message = "<center>[b]Site already in database[/b]</center>";
}
return $message;
}
function walk_through_cats($parent, $lev, $site_id) {
global $mysql_table_prefix;
$space = "";
for ($x = 0; $x < $lev; $x++)
$space .= "";
$query = "SELECT * FROM ".$mysql_table_prefix."categories WHERE parent_num=$parent ORDER BY category";
$result = mysql_query($query);
echo mysql_error();
if (mysql_num_rows($result) <> '')
while ($row = mysql_fetch_array($result)) {
$id = $row['category_id'];
$cat = $row['category'];
$state = '';
if ($site_id <> '') {
$result2 = mysql_query("select * from ".$mysql_table_prefix."site_category where site_id=$site_id and category_id=$id");
echo mysql_error();
$rows = mysql_num_rows($result2);
if ($rows > 0)
$state = "checked";
}
print $space . "<input type=checkbox name=cat[$id] $state>" . $cat . "
\n";
;
walk_through_cats($id, $lev + 1, $site_id);
}
}
function addsiteform() {
?>
<div id="submenu"><center>
[img]img/up.jpg[/img]</p>
[b]Segnala un Sito - Add a Site[/b]
</p>
</center></div>
<div align=center><center><table>
<form action=insert.php method=post>
<input type=hidden name=f value=1>
<tr><td>[b]URL:[/b]</td><td align ="right"></td><td><input type=text name=url size=60 value ="http://"></td></tr>
<tr><td>[b]Title:[/b]</td><td></td><td> <input type=text name=title size=60></td></tr>
<tr><td>[b]Short description:[/b]</td><td></td><td><textarea name=short_desc cols=45 rows=3 wrap="virtual"></textarea></td></tr>
<tr><td>[b]Inserire il cod. di verifica:[/b]</td><td></td><td><input name="VerCode" type="text" size="10" maxlength="10"></td></tr>
<tr><td>[b]Codice di verifica:[/b]</td><td></td><td>[img]verimage.php[/img]</td></tr>
<tr><td></td><td>
<?php walk_through_cats(0, 0, ''); echo "giovanni:$url";?></td></tr>
<tr><td></td><td></td><td><input type=submit id="submit" value=Add></td></tr></form></table>
[img]img/bot.jpg[/img]</p>
</center></div>
<?php
}
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
addsiteform();
session_start();
/* Recupera il codice di controllo digitato dall'utente */
$vercode=strtolower(stripslashes($_POST['VerCode']));
/* Confronta il codice immesso dall'utente
con quello memorizzato in sessione
Verifichiamo anche che l'utente abbia digitato qualcosa.
*/
if ($_POST['f']==1) {
if (strlen($vercode)>1 && $vercode == $_SESSION['verification_string']){$message = addsite($url, $title, $short_desc, $cat);} //se f=1 significa che è stato inviato il form e quindi i dati vanno passati alla function addsiteform() che l'inserirà nel database
else{print "Codice di verifica Errato";}
}
$compurl=parse_url($url);
if ($compurl['path']=='')
$url=$url."/";
$result = mysql_query("select site_id from ".$mysql_table_prefix."sites where url='$url'");
echo mysql_error();
$row = mysql_fetch_row($result);
if ($site_id != "")
siteScreen($site_id, $message);
else echo ($message);
mysql_close($db);
foot();
?>