Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Warning: substr_count()

    ragazzi ciau vi volevo chiedere un aiuto per sistemare questo mio nuovo problema:

    Codice PHP:
    function isblocked($str,$sender)
    {
      if(
    ismod($sender))
      {
        return 
    false;
      }
      
    $str str_replace(" ","",$str);
      
    $str strtolower($str);
        
    $res mysql_query("SELECT site FROM tabella_blockedsite");
    while (
    $row mysql_fetch_array($res)) 
    {
       
    $sites[] = $row[0];
    }
      for(
    $i=0;$i<count($sites);$i++)
      {
            
    $nosf substr_count($str,$sites[$i]);
        if(
    $nosf>0)
        {
          return 
    true;
        }
      }
      return 
    false;

    il problema è il seguente:


    Warning: substr_count() [function.substr-count]: Empty substring in /var/www/vhosts/miosito.net/httpdocs/includes/function.php on line 1209


    chi mi sa aiutare a sistemarlo?
    la linea 1209 è questa:

    $nosf = substr_count($str,$sites[$i]);


    grazie a chi mi aiuterà

  2. #2
    Ciao,
    quell'errore (che poi è solo un warning) lo dà quando la stringa cercata è nulla, cioè non valorizzata, vale a dire che uno dei valori $sites[$i] prelevati dal db è nullo.

    Potresti provare ad assegnare il NOT NULL alla colonna site della tabella.

    Però mi sfugge qualcosa... mi sembra esagerato fare due cicli per cercare una stringa in un db, forse c'è un modo più semplice, per esempio potresti mettere la substr_count direttamente nel while ed eliminare il for, o forse si riesce a fare con una where un po' articolata.

    La democrazia rappresentativa ha fatto il suo tempo, è ora di passare alla democrazia diretta.
    www.beppegrillo.it

  3. #3
    Originariamente inviato da NonCeLaFaccio+
    Ciao,
    quell'errore (che poi è solo un warning) lo dà quando la stringa cercata è nulla, cioè non valorizzata, vale a dire che uno dei valori $sites[$i] prelevati dal db è nullo.

    Potresti provare ad assegnare il NOT NULL alla colonna site della tabella.

    Però mi sfugge qualcosa... mi sembra esagerato fare due cicli per cercare una stringa in un db, forse c'è un modo più semplice, per esempio potresti mettere la substr_count direttamente nel while ed eliminare il for, o forse si riesce a fare con una where un po' articolata.

    l'errore l'ho risolto...
    mmm semplificare la funzione mi piacerebbe tanto .
    anche perchè il mio sito è pesantuccio per colpa di questi codici anche..e di online ne ha parecchi...

  4. #4
    codice:
    SELECT site FROM tabella_blockedsite WHERE site = '$str'
    ?

  5. #5
    eheh a me interessa che funziona poi se qualche esperto lo sa risistemare in modo piu "semplice" la cosa mi fa molto piacere

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    vedendo la sua funzione a me sembra più corretto così

    Codice PHP:
    $sql="SELECT site FROM tabella_blockedsite WHERE site LIKE '%$str%'";
    $result=mysql_query($sql);
    if(
    $row mysql_fetch_array($result))
    {
      return 
    true;  
    }
    return 
    false

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.