PDA

Просмотр полной версии : Тяжёлая задача на php для сайта


MafiaBoy3
08.06.2008, 09:13
Проблема в следующем:

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

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

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

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

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

nerezus
08.06.2008, 09:28
Ну проверить количество слов перед запросом в БД

MafiaBoy3
08.06.2008, 10:04
а как?
Пожалуйста покажи на примере уже несколько дней думаю может пробелы считать

mr.The
08.06.2008, 10:06
<?php
echo count(explode(" ","раз два три"));
?>
примерно так

MafiaBoy3
08.06.2008, 10:08
mr.The

а можешь детальней объяснить?

!{ra!{e/\/
08.06.2008, 10:10
ну проверить количество слов ты можешь посчитать только непосредственно через пробелы....

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;

вот пример кода только он на дельфи..разберешься..

!{ra!{e/\/
08.06.2008, 10:12
хотя mr.The сделал правильнее....мой пример просто отделяет каждые слова..еще вырезай пробелы в начале и конце строки...если они там есть.

MafiaBoy3
08.06.2008, 10:13
Лучше б на php

mr.The
08.06.2008, 10:14
!{ra!{e/\/
это ж на дельфи 0_о ты походу разделом ошиблся)))
а можешь детальней объяснить?
функция explode развивает строку на построки(в данном случае делитель - пробел) и запаисывает в масив
а функция count считает длинну масива. ну echo, понятно, всё выводит))
еще вырезай пробелы в начале и конце строки
да ты прав. токгда лучше так
<?php
echo count(explode(" ",trim("раз два три ")))
?>

функция trim очищает пробелы и переносы строки с начала и конца строки (0_о)

Jer1cho
08.06.2008, 10:16
<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';
}
?>

MafiaBoy3
08.06.2008, 10:17
thanks to mr.The for all

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

mr.The
08.06.2008, 10:20
А как из формы обработать данные?
Jer1cho показал. на 1 странице.
только туда стоит trim добавить

MafiaBoy3
08.06.2008, 10:25
"Трудная задча решена"

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