Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 22

Discussione: Problema if

  1. #11
    A parte che il codice mi sembra molto mal fatto....qual'è lo scopo di questo snip?
    Cosa devi fare? Cosa devi controllare?


  2. #12
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Originariamente inviato da moneta173
    Dove ho scritto // Il codice funziona ... funziona °-°

    Praticamente deve scrivere (con fopen, fwrite) su una pagina e scrive correttamente...
    Hai ragione, funziona perchè php fa in automatico il type casting per eseguire il confronto, ma è una cosa da evitare.

  3. #13
    Il problema è il ciclo for... cioè io devo, usando fopen e fwrite, scrivere su una pagina cio che viene inserito in una textarea.
    Ho usato il ciclo for per controllare ogni riga della textarea e fin qui ci siamo, scrive correttamente sulla pagina.
    Il problema è che, dopo aver scritto sulla pagina di destinazione, devo stampare nella pagina corrente il messaggio di OK, ma non posso metterlo all'interno del for, se no lo stamperebbe tante volte.
    Allo stesso tempo, però, devo stamparlo solo se gli elementi dell'array rispettano le caratteristiche degli if nel for

    Prima di usare il for funzionava, è da quando l'ho inserito che mi sto perdendo un po' (anzi tanto... xD)

  4. #14
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Allora devi:

    1. settare il valore di $true=true;
    2. fare il ciclo for e (al suo interno) se c'è un dato non corretto --> $true=false (se non ci sono errori non toccare $true)
    3. dopo il ciclo for, $true è rimasto a true solo se non ci sono errori

  5. #15
    Allora ho fatto cosi:

    fuori dal ciclo for ho scritto $true = true;

    poi -> if(substr_count($final_links[$x], 'http://') != 1){

    $true = false;
    }
    e infine -> else{
    $true = false;
    }

    Non funziona ;(

  6. #16
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    1. non è che prendendo i dati da una textarea ti ritrovi alla fine una riga vuota?

    2. ti consiglio strpos() invece di substr_count() se vuoi verificare che la tua stringa inizi con "http://" altrimenti potrebbe essere preceduta da altri caratteri ed il confronto sarebbe comunque positivo

    3. non è meglio fare prima la verifica e solo dopo inserire tutto nel tuo file

  7. #17
    Grazie per strpos() ora sostituisco

    Comunque gli if funzionano, cioè il codice scrive nella pagina di destinazione solo se la textarea rispetta le condizioni

    Il problema è che io devo scrivere il messaggio di ok e questo è fuori dal for (perchè se lo mettessi dentro funzionerebbe, solo che lo scriverebbe tante volte)

    EDIT

    Ho letto strpos() e secondo me quella che uso va bene lo stesso...

  8. #18
    Hemm...
    for ($x = 0; $x <= count($final_links); $x++) cosa fa?
    Parte da 0 e cicla finchè x è <= dimensione di finallinks.
    Se l'array è di un elemento, il primo ciclo parte con x = 0, esegue i controlli e fa quel che deve fare.
    Al secondo giro x = 1, che ancora è <= dimensione di finalinks, però finalinks[1] non ha valore (l'array è di tipo numerico e il primo indice è 0...) quindi i controlli falliscono e ritorna false...


  9. #19
    Ok, ho capito l'errore, ma come potrei risolvere?

  10. #20
    Codice PHP:
    $check false;

    for (
    $x 0$x <= count($final_links); $x++) {
        if (!empty(
    $final_links[$x]) && substr_count($final_links[$x], 'http://') > 0) {
            
    $check true;
            
    // Fai qualcosa
        
    }
    }

    if (
    $check) {
        echo 
    "OK";
    } else {
        echo 
    "KO";

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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 © 2026 vBulletin Solutions, Inc. All rights reserved.