Newsgroup: it.lavoro.professioni.webmaster
Titolo: PHP, dove sbaglio?

Dopo aver ripreso in mano il PHP e aver verificato le mie conoscenze di
base, ho iniziato subito a provare ad interagire con il db creando un
semplicissimo sistema di news: aggiundere, modificare, eliminare e
(naturalmente!) visualizzare le notizie.
Primo script, primo problema! Infatti non funziona!!!
Ho riguardato il codice più volte, ma il programma da sempre un
errore. Sembra che non riconosca la variabile $add
La pagina contenente l'errore è add_news.php e il codice è qui sotto:
[[[
<?php
include("config.php"); //file di configurazione
function form() //funzione che visualizza il modulo
{
global $add, $reset, $title, $summary, $body;
?>
 <form method="POST" action="<?php $PHP_SELF ?>>
 <h1><font face="Verdana">Add Sidebar News</font></h1>
  <p>&nbsp;</p>
  <p><font face="Verdana">Title:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="title" size="35"></font></p>
  <p><font face="Verdana">Summary: <textarea rows="3" name="summary"
cols="29"></textarea></font></p>
  <p><font face="Verdana">Body:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<textarea rows="7" name="body" cols="29"></textarea></font></p>
  <p>&nbsp;</p>
  <p><font face="Verdana"><input type="submit" value="Add News"
name="add"><input type="reset" value="Reset" name="reset"></font></p>
</form>
<?php
}
if ($add) {
    $title = mysql_real_escape_string($_POST['title']);
    $summary = mysql_real_escape_string($_POST['summary']);
    $body = mysql_real_escape_string($_POST['body']);
	if (!$title OR !$summary) {
		echo "Some fields are blank! Please fill them.";
		exit;
	}
	else { //news è la tabella (con i campi specificati correttamente!)
		$result = mysql_query("INSERT INTO news (title, dtime, summary, body)
                       VALUES
('$title',NOW(),'$summary','$body')",$connect);
        echo "News added successfully! You'll be rredirected within (4)
seconds";
     	echo "<meta http-equiv=Refresh content=4;url=index.php>";
	}
}
else {
	form();
}
?>
]]]
Dove sbaglio?
Inoltre quando si preme il pulsante aggiungi segnala la variabile
$PHP_SELF come non definita... Come mai?
Ringrazio chiunque mi riesca a dare una risposta...

 Ringrazio chiunque mi riesca a dare una risposta...
http://www.php.net/manual/en/language.variables.predefined.php
http://www.php.net/manual/en/language.variables.external.php
'bye


wow!
grazie

ho un problema (si un altro!), sempre con lo stesso script:
grazie ai consigli di agostino sono riuscito a risolvere il primo ma...
nella pagina read_more.php (che dovrebbe consentire di leggere tutto il
testo della news) mi trovo in difficoltà!
parte del codice di "index.php"
$result = mysql_query("SELECT * FROM news ORDER BY newsid
DESC",$connect);
while($myrow = mysql_fetch_assoc($result)) {
	echo "<b>Title: ";
	echo $myrow['title'];
	echo "</b><br>On: <i>";
	echo $myrow['dtime'];
	echo "</i><hr align=left width=160>";
	echo $myrow['summary'];
	echo "<br> <a
href=\"delete_news.php?newsid=$myrow[newsid]\">Delete</a>
		 	- <a href=\"read_more.php?newsid=$myrow[newsid]\">Read
More...</a><br><hr>";
}
codice di "read_more.php"
$result = mysql_query("SELECT * FROM news WHERE
newsid='$NEWSID",$connect);
while($myrow = mysql_fetch_assoc($result)) {
	echo "<b>";
	echo $myrow['title'];
	echo "</b><br>On: <i>";
	echo $myrow['dtime'];
	echo "</i><hr>";
	echo $myrow['summary'];
	echo "<br";
	echo $myrow['body'];
	echo "<br><br><a href=\"javascript:self.history.back();\"><-- Go
Back</a>";
}
Il problema è che non riesco a trovare il modo di deinire la
variabile$NEWSID che dovrebbe identificare la news.
L'id dovrebbe essere uguale a quello della news che si decide di
leggere e quindi (se non mi sbaglio) al valore $myrow[newsid] contenuto
nella pagina index.php
Come posso fare a definire correttamente la variabile?
Scusate per la domanda che, molto probabilmente, è davvero stupida, ma
anche nella guida di php non ho trovato nulla che mi potesse aiutare

Era davvero una domanda stupida!
Ho dimenticato di scrivere la riga
$id = $_GET["newsid"];
all'inizio della pagina...
Scusate per l'inutile post

Come posso fare a definire correttamente la variabile?
mi pare che nel codice che dovrebbe definire il link per cancellare la
nius ti riferisci all'elemento newsid dell'array $myrow scrivendolo
senza apici, come invece fai correttamente altrove.
comunque, gigi, tu sai che esiste un niusgrup dedicato al php che si
chiama it.comp.[qualcosa].php, dove una domanda del genere avrebbe
risposte più qualificate visto che là sarebbe anche più in tema?
-- 
abbraccio espedienti 365 giorni l'anno.
(generata da: 
http://www.phibbi.com/extra/gswe.php
)
il mio indirizzo email è valido ma filtrato: inserite 
la parola newsgroup nel subject per essere letti.

 risposte più qualificate visto che là sarebbe anche più in tema?
hai ragione, ma me ne sono accorto solo dopo... non avevo pensato
all'esistenza degli altri ng!
Comunque mi sono già iscritto e per i prossimi dubbi che ho
riguardanti il php interpellerò li utenti di quel gruppo
(it.comp.www.php)