Тяжёлая задача на php для сайта

Discussion in 'PHP' started by MafiaBoy3, 8 Jun 2008.

  1. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    Проблема в следующем:

    Я делаю сайт на котором есть форма данные с которой уплывают в базу данных Mysql.

    В одно из полей формы пользователь должен будет вводить слова через пробел.

    К примеру так [быдла лох пожарник пропан мясо ....]

    Так вот как мне сделать чтобы юзер мог ввести только 10 таких (любых) слов

    Как сделать это на php?
     
  2. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    727
    Reputations:
    266
    Ну проверить количество слов перед запросом в БД
     
  3. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    а как?
    Пожалуйста покажи на примере уже несколько дней думаю может пробелы считать
     
  4. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    PHP:
    <?php
    echo count(explode(" ","раз два три"));
    ?>
    примерно так
     
    1 person likes this.
  5. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    mr.The

    а можешь детальней объяснить?
     
  6. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    ну проверить количество слов ты можешь посчитать только непосредственно через пробелы....
    Code:
    procedure tform1.parserx(var s:string);
     var i:integer;
     m:string;
     a:array of string;
     begin
     if s[1]=' ' then delete(s,1,1);
     if s[length(s)]=' ' then delete(s,length(s),1);
    
     i:=1;
     n:=1;
     s:=s+' ';
     while i<=length(s) do
      begin
       if s[i]=' ' then
        begin
         a[n]:=copy(s,1,i-1));
         b[n]:=a[n];
         delete(s,1,i);
    
         i:=0;
         n:=n+1;
        end;
        i:=i+1;
    
      end;
     end;
    
    вот пример кода только он на дельфи..разберешься..
     
    1 person likes this.
  7. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    хотя mr.The сделал правильнее....мой пример просто отделяет каждые слова..еще вырезай пробелы в начале и конце строки...если они там есть.
     
  8. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    Лучше б на php
     
  9. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    это ж на дельфи 0_о ты походу разделом ошиблся)))
    функция explode развивает строку на построки(в данном случае делитель - пробел) и запаисывает в масив
    а функция count считает длинну масива. ну echo, понятно, всё выводит))
    да ты прав. токгда лучше так
    PHP:
    <?php
    echo count(explode(" ",trim("раз два три  ")))
    ?>
    функция trim очищает пробелы и переносы строки с начала и конца строки (0_о)
     
    #9 mr.The, 8 Jun 2008
    Last edited: 8 Jun 2008
  10. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    209
    Likes Received:
    65
    Reputations:
    10
    PHP:
    <html><head></head><body>
    <form method='post' action=''>
    <input type='text' name='data'>
    <input type='submit'>
    </form>
    </body></html>
    <?php
    $data 
    $_POST['data'];
    $ar explode(' '$data);
    if(
    count($ar) > 10){
    echo 
    'no';
    }
    else {
    echo 
    'yes';
    }
    ?>
     
    1 person likes this.
  11. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    thanks to mr.The for all

    А как из формы обработать данные?
     
  12. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    Jer1cho показал. на 1 странице.
    только туда стоит trim добавить
     
  13. MafiaBoy3

    MafiaBoy3 Banned

    Joined:
    14 Apr 2007
    Messages:
    295
    Likes Received:
    15
    Reputations:
    1
    "Трудная задча решена"

    спасибо всем за всё!