capire l'origine di un bug postato il 05/06/2011 17:07:47 nel forum programmazione, gdrcd e open source
sto scrivendo una nuova funzione, il problema e che in locale (sul mio pc) funziona appena la posto sul host non fa nulla.
a rigor di logica se cera un errore di query dovrebbe essere sempre presente stessa cosa per un errore di sintasi (e un motore di ricerca)
ho pensato potrebbe essere le varibiali globale imposta on in locale off sul host ? ide possibili soluzioni se volete vi posto il codice
Pagine → 1 2
05/06/2011 17:14:12
Dovresti descrivere meglio cosa stavi cercando di fare e cosa invece ottieni sull'host. Senza sapere nulla non si può dire niente se non che molto probabilmente il problema dipende dalle configurazioni differenti dei server. Sempre che non abbia fatto un errore tu magari dimenticando di aggiornare uno dei file del tuo progetto.
Per le globali: è fortemente scoraggiato l'uso della registrazione delle variabili globali in quanto la maggior parte delle volte generano problemi di sicurezza. Se il tuo codice si basa sul fatto che le variabili che arrivano allo script via richieste GET, POST o Cookie vengono registrate come variabili globali (invece di usare gli array super globali $_GET, $_POST e $_COOKIE) dovresti riscriverlo usando gli array super globali.
05/06/2011 17:30:04 e modificato da delta il 05/06/2011 17:33:53
in pratica voglio che un soggetto mettendo un nome il sistema facciala suabella ricerca tra tutti i post di quella data sezione..
html
<form action="bacheca.php?op=ric&ID=<?= $IDAraldo ?>&IDMsg=<?= $rs1["IDMessaggio"] ?>&IDMsgPadre=<?= $rs1["IDMessaggioPadre"] ?>&p=<?= $p ?>" method="post">
<div align="center"> Ricerca (per titolo):<input class="txtbox" name="Ricerca" value="">
<input type="submit" name="Submit" value="Effettua ricerca" > </form></td>
php
if ($op = 'ric') {
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre' AND Titolo LIKE '%$Ricerca%'";
} else {
$MySql = "SELECT * FROM MessaggioAraldo WHERE IDAraldo = '$IDAraldo' AND IDMessaggioPadre = '$IDMsgPadre'";
}
il problema e che il locale funziona, sul host scrivo la parola so che ce ma non ottengo nulla va a vuoto non messaggi di errore nulla, in locale trova il post senza discussioni....
php. 5.2.17 - sql 5.2
05/06/2011 17:55:31
Attento al controllo sull'operatore, tu hai scritto
05/06/2011 19:16:31
fatte le correzione del doppio == ma nulla noncapisco in locale continua a funzionare sul sito no :-(
05/06/2011 19:38:04
Prova ad eseguire la query su PhpMyAdmin. C'è la sezione SQL fatta apposta per provare il codice della query e vedere cosa viene fuori effettivamente nel database.
05/06/2011 20:27:36
provato ad eseguire la query nella finestra delle query nessun problema riscontrato quindi sarebbe il form che non invia ?
05/06/2011 21:41:05
si, se la query ha funzionato correttamente allora l'errore è in PHP. O il form non invia come vorresti oppure sei tu che vai a pescare le variabili sbagliate.
Prova a fare un print sulla pagina della query che esegui, così puoi assicurarti che sia esattamente come la vuoi e che non ci siano sorprese nelle variabili che stai usando.
Se stai usando l'array $_REQUEST per trattare il tuo form stai bene attento che non ci siano valori GET, POST o COOKIE con lo stesso nome altrimenti vengono sovrascritti.
L'ordine di come vengono sovrascritti è un parametro di configurazione di PHP, magari il tuo host sovrascrive in un ordine diverso rispetto a quello che hai in locale. Consiglio di usare sempre gli array $_GET, $_POST e $_COOKIE piuttosto che l'array $_REQUEST che fa solo un gran mischione di quei tre array.
05/06/2011 22:39:19 e modificato da delta il 05/06/2011 22:54:31
domanda come lo faccio il priont della pagina?
pero op viene gia definito ad inizio pagina dichiarato cosi:
$op=$_GET['op'];
credo che hai ragione e forse una impostazione host come posso vedere le impostazioni del host per confrontarle con quelle che ho in locale?
05/06/2011 22:54:28
Per identificare i bug si possono usare, di solito, strumenti specifici di debugging presenti sui framework di sviluppo. Ma van conosciuti. In alternativa c'e' sempre il metodo di stampare a video il contenuto delle variabili in punti strategici del codice per seguire il flusso dei dati e "vedere che sta succedendo".
06/06/2011 00:47:45
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
Celebrando 20 Anni di GDR-Online.com: un grazie di cuore!