Newsgroup: it.comp.www.php
Titolo: codice php in una variabile

Ho inserito del codice php in una variabile in questo modo:
$codice = '<? 
include("top_foot.inc2.php"); 
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 = "SELECT cognome , indirizzo , cap , citta , provincia , 
telefono , email , testoannuncio , zona , data FROM lavqual WHERE 
id='$id'";
$result = mysql_query($query, $db);
$row = mysql_fetch_array($result);
$contatore=$row[contatore];
$zona=$row[zona];
mysql_close($db);
?>';
come mai mi dà il seguente errore:
Parse error: syntax error, unexpected T_VARIABLE in 
D:\inetpub\webs\prova\crea.php on line 11

 D:\inetpub\webs\prova\crea.php on line 11
Perché hai affiancato due variabili, la stringa protetta da apici e $id, 
senza collegarli, ad esempio con l'operatore '.'.

 come mai mi dà il seguente errore:
Questo e` il minore dei tuoi problemi. Fermati subito, cancella il codice 
che hai scritto, e cerca un modo migliore per fare quello che vuoi fare, 
perche` sono sicuro che prima o poi c'e` un eval() o un file_put_contents
() da qualche parte nel tuo codice.
A meno che tu non sia un cracker e sappia cosa stai facendo, 
naturalmente. :P
Bye.

 naturalmente. :P
:)

 senza collegarli, ad esempio con l'operatore '.'.
La Sagra della Punteggiatura.

 ha scritto:

Ho provato cosi ma mi da sempre errore:
$query = "SELECT cognome , indirizzo , cap , citta , provincia , 
telefono , email , testoannuncio , zona , data FROM lavqual WHERE 
id='.'$id'";
puoi postare la stringa corretta ?


sta fancendo un installer

id='.'$id'";
E' meglio se lo scrivi cosi', è più chiaro (YMMV):
$query = <<<QUERY001
	SELECT cognome, indirizzo , cap, citta, provincia, 
		telefono, email, testoannuncio, zona, data
	FROM lavqual
	WHERE id = '{$id}'
	ORDER BY provincia, citta, testoannuncio;
QUERY001;
(eventuali altre query le indicherai con QUERY002 e così via).
...inoltre, è anche meglio se non chiami "data" un campo, perché
"data" è spesso una parola riservata. Chiamala dataannuncio.
Leonardo
-- 
The thoughts of others were light and fleeting,
Of lovers' meeting, or luck, or fame.
Mine were of trouble, and mine were steady:
So I was ready when trouble came.

 
Ho provato come dici tu ma mi da tale errore:
Parse error: syntax error, unexpected T_SL in
prova\crea.php on line 12
Per richiamare la query devo usare QUERY001 oppure $QUERY001 ?

 Per richiamare la query devo usare QUERY001 oppure $QUERY001 ?
devi usare $query

Per richiamare la query devo usare QUERY001 oppure $QUERY001 ?
usi $query. L'altra è solo un'etichetta per fargli capire dove inizia
e dove finisce $query.
Quanto all'errore esito a suggerire una misura cosi' estrema, ma puo'
darsi che esaminare la riga 12 del file "crea.php" dia risultati. Non
ci sono garanzie, ma io spesso facendo cosi' mi trovo bene.


 
La riga 12 contiene proprio la stringa da te postata:
$query = <<<QUERY001 SELECT cognome, indirizzo , cap, citta, provincia, 
telefono, email, testoannuncio, zona, data FROM lavqual WHERE id = '{$id}' 
ORDER BY provincia, citta, testoannuncio; QUERY001; 
e mi da errore

 e mi da errore
stai andando a caso, così non arrivi da nessuna parte.
Leggi per bene il manuale, poi riprova:
http://www.php.net/manual/en/language.types.string.php

$query = <<<QUERY001 SELECT 
Aaaahhh. Non puoi mettere tutto su una sola riga. Pensavo conoscessi
gli here-document (sono una delle cose piu' carine del PHP).
Scrivilo esattamente come l'ho messo io: vedrai ti troverai bene :-D


 
Mi dispiace insistere ma lo messo come dici tu e mi da lo stesso errore

Mi dispiace insistere ma lo messo come dici tu e mi da lo stesso errore
Forse hai lasciato uno spazio dopo "QUERY001" (li' sopra, sarebbe lo
spazio fra QUERY001 e SELECT).
Leonardo e mai YMMV fu più profetico
