Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2019
    Messaggi
    19

    if-die-else si blocca al die

    Ciao ragazzi, sto scrivendo questo piccolo script nel quale prima di iniziare a eseguire il codice vero e proprio voglio assicurarmi che nella casella di testo della variabile $parola sia stato inserito un valore.
    Il codice è il seguente:
    codice:
    $testo=$_POST['caselladitesto'];
    $parola=$_POST['word'];
    $parola_high='<FONT style="background-color: yellow">'.$parola.'</FONT>';
    
    if (strlen($parola==0))
    	die("Inserisci la parola da cercare");
    else
    {
    //sostituisce la parola da cercare con la parola da cercare ma evidenziata
    $testo_high=str_replace($parola, $parola_high, $testo);
    echo"<b>Abbiamo cercato la parola $parola all'interno del testo(\$testo) e l'abbiamo evidenziata di giallo ogni volta che compare. Ecco il risultato:</b><br><br> $testo_high<br>";
    Ho letto varie discussioni ma il mio codice mi sembra corretto e non riesco a capire come mai mi compaia sempre il messaggio inserito all'interno di die(), sia che io inserisca una parola nel form html da cui prelevo i dati sia che non lo faccia.
    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jul 2002
    residenza
    Lyon
    Messaggi
    5,361
    Ti consiglio di fare un print_r($_POST); all’inizio del codice per vedere che cosa c’è realmente nei vari posti dell’array.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2019
    Messaggi
    19
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Ti consiglio di fare un print_r($_POST); all’inizio del codice per vedere che cosa c’è realmente nei vari posti dell’array.
    Ho fatto come mi hai detto e la parola inserita nel form c'è, tuttavia mi stampa la parola seguita da un "1", mi era capitato altre volte con quando inserivo il tag <br> in determinate situazioni con gli array. Sapresti dirmi cosa lo causa? Comunque non mi sembra che un numero dovrebbe mandare in confusione il ciclo if-die

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    485
    da profano, lo statement if...else non ha bisogno della parentesi graffa per racchiudere le condizioni?:
    codice:
    $testo=$_POST['caselladitesto'];
    $parola=$_POST['word'];
    $parola_high='<FONT style="background-color: yellow">'.$parola.'</FONT>';
    
    if (strlen($parola==0)) {
    	die("Inserisci la parola da cercare");
    } else  
    {
    //sostituisce la parola da cercare con la parola da cercare ma evidenziata
    $testo_high=str_replace($parola, $parola_high, $testo);
    echo"<b>Abbiamo cercato la parola $parola all'interno del testo(\$testo) e l'abbiamo evidenziata di giallo ogni volta che compare. Ecco il risultato:</b><br><br> $testo_high<br>";}
    Ripeto...l'ho utilizzato qualche decennio fa il php...
    Veloce,Affidabile,Economico : Scegline 2

    Se la tua ragazza non te la da, tu non prendertela

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    11,811
    Tu scrivi
    if ( strlen($parola==0) )

    ma la versione corretta è
    if ( strlen($parola) == 0 )

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2019
    Messaggi
    19
    Era un problema che mi portavo avanti da molto, grazie davvero

Tag per questa discussione

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