Dunque, questo post sarà un po' lunghetto ma è per essere il + chiari possibile..
La guida a cui mi riferisco è la "Guida pratica Php/MySQL"
Ho seguito la guida passo passo creando i seguenti files:
config.inc.php
con il seguente codice:
codice:
// parametri del database
$db_host = "localhost";
$db_user = "user";
$db_password = "password";
$db_name = "test";
//password per inserimento articoli
$password = "";
?>
Ho notato che manca il "<?" all'inizio del codice ma nn so se è un errore.. cmq, andiamo avanti..
install.php
codice:
include("config.inc.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");
$query = "CREATE TABLE news (id INT (5) UNSIGNED not null AUTO_INCREMENT, titolo VARCHAR (255) not null , testo TEXT not null , data INT (11) , autore VARCHAR (50) , mail VARCHAR (50) , PRIMARY KEY (id))";
if (mysql_query($query, $db))
echo "L'installazione è stata eseguita correttamente";
else
echo "Errore durante l'installazione";
mysql_close($db);
?>
Anche in questo caso mi sembra che manchi il tag di apertura del codice Php!
E' la volta ora di:
top_foot.inc.php
codice:
<? function top() { ?>
<HTML>
<HEAD>
<meta name=generator content="Script di freephp.it">
</HEAD>
<BODY bgcolor=ffffff text=000000>
<font face=verdana,tahoma,arial size=-1>
<h1>FREEPHP.IT</h1>
<? }
function foot() { ?>
</body></HTML>
<? } ?>
Ecco ora:
insert.php
codice:
<?
include ("config.inc.php");
include ("top_foot.inc.php");
//intestazione
top();
?>
<form method=post action=save.php>
Titolo:
<input type=text size=40 name=titolo>
Data:
<select name=giorno>
<?
for ($i=1; $i<=31; $i++)
echo "<option value=$i>$i";
?>
</select>
<select name=mese>
<option value=1>Gennaio
<option value=2>Febbraio
<option value=3>Marzo
<option value=4>Aprile
<option value=5>Maggio
<option value=6>Giugno
<option value=7>Luglio
<option value=8>Agosto
<option value=9>Settembre
<option value=10>Ottobre
<option value=11>Novembre
<option value=12>Dicembre
</select>
<select name=anno>
<option value=2001>2001
<option value=2002>2002
<option value=2003>2003
<option value=2004>2004
<option value=2005>2005
</select>
Autore:
<input type=text size=40 name=autore>
E-mail:
<input type=text size=40 name=mail>
Testo:
<textarea cols=60 rows=40 name=testo></textarea>
Password:
<input type=password size=40 name=pass>
<input type=submit value=Invia> </form>
<?
// chiusura pagina
foot();
?>
E' la volta di:
save.php
codice:
<? include("top_foot.inc.php");
include("config.inc.php");
top();
if ($pass != $password):
echo "Password errata";
elseif (trim($titolo) == "" OR trim($testo) == ""):
echo "I campi Titolo e Testo devono essere riempiti!";
else:
$titolo = addslashes(stripslashes($titolo));
$autore = addslashes(stripslashes($autore));
$mail = addslashes(stripslashes($mail));
$testo = addslashes(stripslashes($testo));
$titolo = str_replace("<", "<", $titolo);
$titolo = str_replace(">", ">", $titolo);
$autore = str_replace("<", "<", $autore);
$autore = str_replace(">", ">", $autore);
$testo = str_replace("<", "<", $testo);
$testo = str_replace(">", ">", $testo);
$testo = nl2br($testo);
$data = mktime("0", "0", "0", $mese, $giorno, $anno);
$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");
$query = "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";
if (mysql_query($query, $db))
echo "L'articolo è stato inserito correttamente";
else
echo "Erorre durante l'inserimento";
mysql_close($db); endif;
foot();
?>
index.php
codice:
<?
include("top_foot.inc.php");
include("config.inc.php");
top();
$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");
$query = "SELECT id,data,titolo FROM news ORDER BY data DESC LIMIT 0,5";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{ echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a>
"; }
mysql_close($db); foot();
?>
view.php
codice:
<? include("top_foot.inc.php"); include("config.inc.php"); top();
$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");
$query = "SELECT titolo,testo,data,autore,mail FROM news WHERE id='$id'";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$data = date("j/n/y", $row[data]);
echo "$row[titolo]
";
echo "$row[testo]
";
if ($row[mail] != "") echo "$data, <a href=mailto:$row[mail]>$row[autore]</a>
"; else echo "$data, $row[autore]
";
echo "
<a href=index.php>Torna alla pagina iniziale</a>
";
echo "<a href=all.php>Visualizza tutti gli articoli</a>
";
mysql_close($db);
foot();
?>
all.php
codice:
<?
include("top_foot.inc.php");
include("config.inc.php");
top();
$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");
if (!isset($start) OR $start<0)
$start=0;
$step = 20;
$query = "SELECT id,data,titolo FROM news ORDER BY data DESC LIMIT $start,$step";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{ echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a>
"; }
?>
<table width=90% border=0><tr>
<td width=20% align=left>
<?
if ($start>0)
{ $start_back = $start - $step;
echo "<a href=all.php?start=$start_back>precedenti</a>";
}
?>
</td>
<?
$query = "SELECT count(*) AS tot FROM news";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$pages = intval(($row[tot]-1) / $step)+1;
?>
<td width=60% align=center>
<?
for ($i=0; $i<$pages AND $i<20; $i++)
{ $start_page = $i * $step;
echo "<a href=all.php?start=$start_page>" . ($i+1) . "</a> ";
}
?>
</td>
<td width=20%>
<?
if ($start + $step < $row[tot])
{ $start_next = $start + $step;
echo "<a href=all.php?start=$start_next>successivi</a>";
}
?>
</td>
</tr></table>
<?
echo "<a href=search.php>Cerca negli articoli</a>";
foot();
?>
search.php
codice:
<?
include("top_foot.inc.php");
include("config.inc.php");
top();
?>
<form method=post action=result.php>
<input type=text name=chiave><input type=submit value=cerca>
</form>
<?
foot();
?>
ultimo:
result.php
codice:
<?
include("top_foot.inc.php");
include("config.inc.php");
top();
$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");
$keys = explode (",", $chiave);
$query = "";
reset ($keys);
while (list(,$parola) = each ($keys))
{ $parola = trim($parola);
if ($parola != "")
$query .= "titolo LIKE '%$parola%' OR testo LIKE '%$parola%' OR autore LIKE '%$parola%' OR ";
}
$query .= "0";
$query = "SELECT id, titolo, data FROM news WHERE " . $query;
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{ echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a>
"; }
foot()
?>
A questo punto, dovrei già riuscire a vedere funzionare qualcosa ed invece questo è l'errore che mi dà il browser:
codice:
// parametri del database $db_host = "localhost"; $db_user = "user"; $db_password = "password"; $db_name = "test"; //password per inserimento articoli $password = ""; ?>
FREEPHP.IT
Errore nella selezione del database. Verificare i parametri nel file config.inc.php
Nn capisco! Anche perchè essendo un newbie su queste cose nn so dove mettere le mani!