Newsgroup: it.comp.www.php
Titolo: Ma perchè mi dice così?

Perchè durante l'inserimento... pur avendo inserito nel form tutto mi
risponde...:
I campi Titolo e Testo devono essere riempiti! ??? sono riempiti! avete
qualche idea? ecco la pag php:
[PHP]
<?php
	include ("config.inc.php");
	include ("header.inc.php");
	include ("menu.inc.php");
	include ("footer.inc.php");
?>
<div id=tablenews class=testophp>
<?php
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("<", "&lt;", $titolo);
$titolo = str_replace(">", "&gt;", $titolo);
$autore = str_replace("<", "&lt;", $autore);
$autore = str_replace(">", "&gt;", $autore);
$testo = str_replace("<", "&lt;", $testo);
$testo = str_replace(">", "&gt;", $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");
$query1 = "INSERT INTO diario (titolo, testo, data, nome) VALUES ('$titolo',
'$testo', '$data', '$autore')";
$query2 = "INSERT IGNORE INTO autori (nome, mail) VALUES ('$autore',
'$mail')";
if (mysql_query($query1, $db) AND mysql_query($query2, $db))
echo "L'articolo è stato inserito correttamente";
else
echo "Errore durante l'inserimento
$query";
endif;
?>
</div>
[/PHP]
Grazie dell'aiuto!
Stucco
http://stucco.altervista.org
--------------------------------
Inviato via 
http://usenet.libero.it

 echo "I campi Titolo e Testo devono essere riempiti!";
leggi qui:
http://php.dopoil.com/faq.php?Php410
poi scrivi 100 volte (su un foglio così non usi cut&paste):
non posterò più prima di leggere la faq
non posterò più prima di leggere la faq
non posterò più prima di leggere la faq
non posterò più prima di leggere la faq
non posterò più prima di leggere la faq
...
-- 
punkarruso


--------------------------------
Inviato via 
http://usenet.libero.it

> non posterò più prima di leggere la faq
Ci proverò... ma qui veramente non ho trovato risposte e ho sfogliato faq e
manuale
$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 (mysql_error());
Perchè mi restituisce No Database Selected quando nel file di riferimento...
config.inc.php è selezionato un database con var $db_name..
Immagino che la risposta si trovi dietro l'angolo!
Qualche consiglio?
Grazie Punk
Stucco
http://stucco.altervista.org


 Qualche consiglio?
andiamo per piccoli passi:
- $testo, $testo e $pass alla fine ti arrivano?
- quindi l'errore "I campi Titolo e Testo devono essere riempiti!" non 
c'č piů?
- error_reporting č settato a E_ALL?
- fai una "or die (mysql_error());" anche dopo la connect.
- fai una print delle variabili $db_* e verifica che corrispondano a 
quello che vuoi.
poi posta eventuali progressi.
(questi tips ci sono nella faq)
-- 
punkarruso

 (questi tips ci sono nella faq)
Grazie per rispondere puntualmente alle mail.. non vorrei risultare
scocciante... l'errore di prima sono riuscito a risolverlo... quindi
grassie....
in locale cmq va tutto bene.. è on-line che non mi riesce...
mi basta anche solo scrivere questo...
[PHP]
<?php
$connection = mysql_connect($db_host, $db_user, $db_password);
$db = mysql_select_db($db_name, $connection)
or die (mysql_error());
?>
[/PHP]
Che mi restituisce
-No Database Selected-
anche se non ho mai usato altri linguaggi... penso di riuscire a capire che
il problema è in questa stringa...
** $db = mysql_select_db($db_name, $connection)
e in particolare in $db_name.. ma se è corretto come mai che non torna???


 e in particolare in $db_name.. ma se è corretto come mai che non torna???
ricapitoliamo:
- error_reporting è settato a E_ALL?
<!-- riporta qui se è settato o meno -->
- fai una "or die (mysql_error());" anche dopo la connect.
<!-- riporta qui se l'hai fatto o meno -->
- fai una print delle variabili $db_* e verifica che corrispondano a
quello che vuoi.
<!-- riporta qui se corrispondono alle aspettative -->
- la release di php locale è uguale a quella remota?
<!-- scrivi qui le due releases -->
ciao
-- 
punkarruso

 ha scritto nel messaggio
news:W8Bda.23903$Lr4.7...@twister2.libero.it...



+- PHPRndSig 0.02 ---------------------------------------------7/75-+

 Ma c'e' davvero un duepunti dopo la parentesi, o e' finito li' per caso?
LOL!
http://www.php.net/manual/it/control-structures.alternative-syntax.php
-- 
punkarruso


E' questo che mi sorprende in locale funziona e il nome del database
($db_name) e lo stesso di quello on-line... e di quello sul locale... mah i
parametri di connessione mi sembrano giusti...
$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 (mysql_error());


Grazie a tutti per i consigli sempre puntuali... e continuate a scusare le
mie domande stupide... ma piano piano imparo... grazie soprattutto a te
punkarruso... che mi hai seguito con molta pazienza... altra domanda da un
miliardo di euro... :-P
perchè quando faccio il form.. lo inserisco come data mi viene 1/1/70?
mi sono anche questa volta demoralizzato per una cosa che sicuramente è
semplice... ho letto che è la data da cui parte la unix date... quindi
presumo che non funziona per niente la stringa...
$data = mktime(0, 0, 0, '$_POST[mese]', '$_POST[giorno]', '$_POST[anno]');
dato che non mi restituisce 21/3/03.... mah chissà dopo 3 orette di computer
mi vado a letto.... aspetto una vostra illuminazione....
grazie ancora


 $data = mktime(0, 0, 0, '$_POST[mese]', '$_POST[giorno]', '$_POST[anno]');
please RTFM:
http://www.php.net/manual/it/language.types.array.php
$data = mktime(0, 0, 0, $_POST['mese'], $_POST['giorno'], $_POST['anno']);
-- 
punkarruso