Newsgroup: it.comp.www.php
Titolo: Sostiturie la veriosne di php

Buon giorno a tutti...
Nn so se sto per scrivere una ca**ata... nn mi uccidete per questo...
Però devo gestire un sito che è stato fatto in php 4.0 invece il mio
server ha la 5.2.0...
da quello che ho capito le due versioni hanno un sintassi differente e
devo sostituire la versione 5.2.0 con la 4.0
Come server web utilizzo xampp sapete dirmi come devo fare e dove posso
scaricare la 4.0?
Spero di non aver scritto cagate...
Help please!!!

 devo sostituire la versione 5.2.0 con la 4.0
php 4 e php5 sono compatibili al 99%.
Se hai problemi, probabilmente e` perche` il tuo software usa
register_globals o se, per sfiga, hai chiamato delle classi con lo stesso
nome che hanno alcune classi base di php5.
Nel primo caso, riscrivi/modifica il software per non usare
register_globals.
Nel secondo, cambia nome alle classi.
Bye.

Il messaggio di errore che mi da è questo forse così riesci a capire
cosa c'è che nn va:
You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'AND
provincia= AND comune='' ORDER BY' at line 1
riesci a dirmi qualcosa vedendo questo messaggio?

 riesci a dirmi qualcosa vedendo questo messaggio?
Certo, che php non centra niente. :-)
--
rob4you



O che stai usando le register globals, e prendi quello che andrebbe dopo
provincia= e dentro le virgolette di comune='' dalla query string.
Bye.

 riesci a dirmi qualcosa vedendo questo messaggio?
Che PHP non c'entra nulla e che hai dimenticato gli apici dopo provincia
e che le variabili con cui dovresti alimentare la query sono vuote.

vi spiego la situazione...
Il sito era bello e funzionante con questa sintassi in un server che nn
gestisco io...
Ora mi hanno dato il compito di prelevarlo e di installarlo sul mio
server...
Ho contattato la socità che gestiva il mio sito e me lo sono fatto
passare così come loro c'è l'hanno sul loro server.
Se sul loro funziona con quella sintassi perchè sul mio no?? è questo
che nn capisco...
Non volgio modificare niente se sul loro funziona deve funzionare anche
sul mio con questa sintassi

 sul mio con questa sintassi
Al 99% dipende dal fatto che sul tuo server e` disabilitato (cosi` come
e` _FORTISSIMAMENTE_ consigliat) REGISTER_GLOBALS. Se proprio ma che
proprio non puoi farne a meno abilitalo nel php.ini. In bocca al lupo.

 sul mio con questa sintassi
Vedi la risposta di William Maddler, e sappi che o lo modifichi adesso o
lo modifichi tra un po', visto che piu` vai avanti e peggio e`.
Tieni anche conto che per come e` fatto quel codice e` estremamente
propenso a essere bucato e a distruggerti il database, quindi prima lo
metti al sicuro, meglio e`.
Appena qualcuno si accorge che usi le register_globals e che passi i
parametri al DB senza controlli, fa quel che vuole con tuo DB.
Bye.

 parametri al DB senza controlli, fa quel che vuole con tuo DB.
Con tanti complimenti anche allo sviluppatore... ;)

avete ragione... penso che dipenda tutto dalle sessioni globali....
Mi metterò d'impegno è cambierò una per una le sessioni...
Quindi che codice metto al posto di
session_start ();
session_register("abc");
session_register("def");
$abc=$_GET["abc"];
$def=$_GET["def"];

 $def=$_GET["def"];
Questo lo cambi con
$_SESSION["abc"] = $_GET["abc"].
Ma qui non hai problemi di register_globals, solo errori che sembrano
strani che chiedono di attivare un flag per la compatibilita`.
Probabilmente in una pagina successiva avrai
session_start();
$sql = "insert into pippo values ('" .$abc. "', '" .$def. "')";
che dovrai cambiare con
session_start();
$sql = "insert into pippo values ('" .$_SESSION["abc"]. "', '"
.$_SESSION["def"]. "')";
Bye.