Newsgroup: it.comp.www.php
Titolo: Mistero MySql WinXp Linux

Sotto riporto uno script che su WinXp con
EasyPhp(Apache1.3.24+Php4.2.0+MySql) funziona benissimo. Se invece lo metto
sul server Linux RH8 con Apache2, Php4.2.2, MySql NON FUNZIONA AFFATTO!!!!
C'č qualche differenza? Devo configurare qualcosa? E' diversa la sintassi??
Aiutooooo
Mi da' messaggi di errore in questo modo:
---------------------------------------------
Resource id #1nome_del_mio_database
Notice: Undefined variable: titolo in /mia_directory/admin/crea_nuovo_2.php
on line 20
Notice: Undefined variable: testo in /mia_directory/admin/crea_nuovo_2.php
on line 20
INSERT INTO news (titolo, contenuto, anno, mese, giorno, ora, minuto) VALUES
('', '', '2002', '11', '29', '12', '40');Hai scritto i dati nel database
---------------------------------------------
Le varibili "titolo" e "testo" gliele passo cosě:
---------------------------------------------
<FORM  action="crea_nuovo_2.php" method="get">
Titolo <INPUT TYPE="TEXT"  name="titolo" size="25"><br><br>
Testo <TEXTAREA  name="testo" rows="5" cols="30"></TEXTAREA>
<input type="SUBMIT" value="OK" name="SUBMIT">
</form>
---------------------------------------------
File crea_nuovo_2.php
---------------------------------------------
<?php
error_reporting(E_ALL);
include ("../connect.inc.php");
include ("../html/top.htm");
$t = time();
$hours = date("H", $t);
$minutes = date("i", $t);
$day = date("d",time());
$mon = date("m",time());
$year = date("Y",time());
$connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
print_r($connect);
mysql_select_db($dbname);
print_r($dbname);    QUI SOTTO C'E' LA LINEA 20!!!
$query = "INSERT INTO $tablename (titolo, contenuto, anno, mese, giorno,
ora, minuto) VALUES ('$titolo', '$testo', '$year', '$mon', '$day', '$hours',
'$minutes');";
print_r($query);
if(@mysql_query($query, $connect)){
echo ("Hai scritto i dati nel database<p>");
echo ("<A href=\"gestione.php\">Torna alla gestione delle news</A>");
} else {
echo ("Non hai scritto i dati nel database ".mysql_error());
}
include ("../html/sub.htm");
?>
---------------------------------------------

C'è qualche differenza? Devo configurare qualcosa? E' diversa la sintassi??
In un certo senso. Ti puo' venire comodo questo, per specificare quali
variabili ti interessano. Con poche variazioni, ti consente di usare i
medesimi script su piu' host, indipendentemente da register_globals ed
altre impostazioni di php.ini (che sono diverse fra i tuoi due host).
	// Specifica dei default
	$__vars = array(
		'titolo'    =>'Nessun Titolo',
		'contenuto' =>''
	);
	foreach($__vars as $__var => $__val)
	{
		if (isset($_REQUEST[$__var]))
			${$__var]=$_REQUEST[$__var];
		else
			${$__var]=$__val;
	}
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 	}
Ottengo:
Parse error: parse error, unexpected ']' in
/mia_dir/admin/crea_nuovo_2.php on line 14
Cioè qui:
${$__var]=$_REQUEST[$__var];

Non capisco molto quel codice che mi hai scritto...per cui avevo solo
fatto un copia e incolla...Non avevo mai visto roba del genere.
...ma il problema dove sta??
La variabile sembra proprio non volerla prendere...il difetto sta nel
passargliela? O tutto insieme il php non le gestisce pių?
Perchč io gliela passavo con:
<FORM  action="crea_nuovo_2.php" method="get">
<INPUT TYPE="TEXT"  name="titolo" size="25"><br>
...
č sbagliato??

...ma il problema dove sta??
Sbagliato io a scrivere, tastiera farlocca o alcolemia eccessiva, non so.
<?
	//---------------------
        $__vars = array(
                'titolo'    =>'Nessun Titolo',
                'contenuto' =>''
        );
        foreach($__vars as $__var => $__val)
        {
                if (isset($_REQUEST[$__var]))
                        ${$__var}=$_REQUEST[$__var];
                else
                        ${$__var}=$__val;
        }
	//---------------------
	print "Il titolo è $titolo e il contenuto è $contenuto\n";
?>
