Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: da server WIN a LINUX

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202

    server LINUX: grossi problemi! non ci sto capendo niente.. è impazzito?

    ciao a tutti.. allora... spero che qualcuno mi riesca a far capire questo... ho testato un sito su un server WINDOWS (upload immagini, inserimento testi, ecc) tutto funziona alla perfezione... vado x trasferire tutto su un server linux e iniziano i guai.. allora.. per prima cosa quando devo uploadare un immagine non me lo uploada

    codice:
    if(!is_uploaded_file($_FILES['immagine']['tmp_name']))
    
    if((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "insert") && (copy($_FILES['immagine']['tmp_name'], $urlimmagine)))
    codice che ho sempre usato e che funziona benissimo su windows mentre su LINUX no!!!

    da poco ho scoperto l'invio di file tramite ftp con codice php, CHE FUNZIONA MIRACOLOSAMENTE SIA SU WIN KE LINUX!

    ok una parte potrei averla risolta, anche se ancora non mi è chiaro come nn possa funzionare con quel codice sopra...


    ALTRO PROBLEMA!!!

    uno scrive in un campo form del testo: con caratteri come ' ò à ù , apici e robe varie.. un testo normalissimo insomma che non ha nulla di speciale (un'altra, l'altro mondo) parole e frasi normalissime che non vedo come poter scriverle in maniera diversa... clicco su inserisci x inserire i testi sul database e mi da l'errore di sintassi

    codice:
    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 'asasè+è+è+asas'' ', nome =' at line 3
    gia qui non capisco che confusione faccia, mi mette anche le stringhe della query sul mysql.. bah!!! cmq ripeto.. su WINDOWS questi problemi non li ho!!!

    per ora mi sembra ke sia tutto quello che ho riscontrato finora.. e sinceramente non è poco...

    allora qualcuno mi può dire che cosa succede? QUesto server LINUX ha delle vrs incompatibili? sono io che sbaglio? sincermaente le ho provate di tutte!!! anche una semplice pagina con un solo campo di testo, x vedere se magari ero io che avevo fatto confusione tra la marea di codici ma niente!!! cmq ripeto ancora una volta: su WIN va!!!

    Ho bisogno di risolvere e capire questo problema xchè sinceramente stare su un server WIN con ftp lento, e con altri problemi (nn di carattere php) non mi va +...


    MI AIUTATE?

    grazie

  2. #2
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    ed aggiungi anche problemi di sicurezza se ti inserisce quelle stringhe con gli apostrofi, la query mysql è sbagliata in quanto con gli apici diventerebbe così:
    codice:
    INSERT INTO tabella (titolo, testo) VALUES ('Ecco il titolo','L' /*qua termina il secondo valore*/altro mondo)
    //puoi risolvere usando mysql_real_escape_string() sulle variabili
    in linux, oltretutto, le cartelle sono strutturate in modo diverso che su windows, lo sapevi?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    quindi cosa devo fare? io le stringhe nelle query non ci sono, le query sono giuste xchè su win vanno bene... è lui che mi da degli errori stranissimi

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    parecchi hanno siti su linux, quindi secondo il tuo ragionamento ci sarebbero dei codici diversi apposta x linux?

  5. #5
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    no, semplicemente viene fuori un errori di sintassi, perchè nei VALUES trova una parte senza apici, in quanto grazie all'apostrofo è stata interrotta la stringa

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    scusa ma se uno scrive su un campo ... come faccio a mettere quell'interruzione?

    se il campo ha come name "descrizione"

    e nel value scrivo "$descrizione", ...

    come faccio a mettere quell'interruzione? nn ho capito

  7. #7
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    se nel campo scrivi "l'estensione" l'apostrofo vale come apice e tronca la stringa, quindi prima di fare la query devi scrivere:
    Codice PHP:
    mysql_real_escape_string($descrizione); 

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Per la prima domanda:

    codice:
    if(!is_uploaded_file($_FILES['immagine']['tmp_name']))
    Significa : se non hai caricato il file vai avanti al prossimo if, ma se tu carichi il file non ci arrivi mai.

    Anche se fosse un errore di copia incolla, il secondo if usa:
    codice:
    copy($_FILES['immagine']['tmp_name'], $urlimmagine)))
    Sarebbe meglio che usassi move_uploaded_file che è la funzione corretta da usare per spostare dei file dalla loro posizione temporanea. (anche se non credo sia quello il problema).

    Nel secondo caso ci sono altri 2 problemi:

    Premessa:
    Su alcuni server (e se non sbaglio in molte versioni anche di default) il php è configurato l'opzione nel file php.ini :

    codice:
    magic_quotes_gpc = On
    Questa opzione fa in modo che venga fatto in automatico l'escape del testo spedito tramite get/post/cookie.
    L'escape è identico a quello che fa la funzione addslashes.
    Grazie a questa funzione automatica teoricamente puoi passare il testo ad una query in modo che non si crei conflitto tra gli apici che compongono la query vera e propria e gli apici che fanno invece parte dell'inserimento che vuoi fare.
    Detto questo, le magin_quotes_gpc per me sono solo una rottura di scatole, e in più conducono chi non le conosce a errori di cui non si sa dare un motivo, infatti tu "impigrito" da questa funzionalità non conosci il motivo dell'errore, che è banale quando hai un po' di dimestichezza con la programmazione web (senza offesa).

    Un'altro problema è un'altra cosa abbastanza fastidiosa, ed è il charset utilizzato, quello che ti crea i problemi delle accentate che vengono rappresentate in quel modo assurdo. In realtà il tutto nasce dal fatto che in 2 pagine diverse usi due charset diversi (in genere UTF8 e iso), che utilizzano la stessa codifica per i caratteri semplici (1 carattere=1byte), mentre per le accentate no, l'utf8 usa 2 o + byte per i caratteri speciali (permettendo di comprendere definizioni di diversi alfabeti).
    La questione è un po' lunga e delicata, ti invito a cercare anche qui sul forum usando la chiave "utf8", vedrai che ci sono un sacco di discussioni a riguardo.

    ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    noooooooo...cavolo ora si ke va!!! cazzarola ho perso 2 giorni x sbattermi e capire il xchè!!! sostanzialmente agigungo quella stringhe a tutti i valori dei post e sono apposto!!! grande grande!!! grazie amico! adesso si ke potrò dire finalmente (spero) ADIOS a WIN :P

    ftp + veloce, + sicuro, e... LINUX!

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    202
    toglimi una curiosità... xchè l'upload dei file invece nn va?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.