Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
Pomoc przy stworzeniu metody z strlen
|
Liczba postów: 24
Liczba wątków: 6
Dołączył: 12-04-2010
Reputacja:
2
Witam,
Próbuję stworzyć funkcję z strlen, kombinuję, kombinuję i nie wiem jak dokończyć. Proszę o nakierowanie.
Kod PHP: public function min_max($val_min, $val_max, $argument) { $val_min = strlen($argument) > $val_min; $val_max = strlen($argument) < $val_max; if ($minmax = ($val_min or $val_max)) { return $minmax; } }
Używać chciałbym mniej więcej tak:
Kod PHP: if ($this->min_max(3, 25, $_POST['tytul']) == false) { echo"tytul od 3 do 25 znakow"; } else if ($this->min_max(5, 250, $_POST['tresc']) == false) { echo"Treśc min 5 znakow max 250"; } else { $query...
Pewnie wszystko jest totalnie do D...
No ale uczę się i chcę zrobić coś sam, a nie kopiować na łebka.
Liczba postów: 350
Liczba wątków: 93
Dołączył: 23-11-2008
Reputacja:
6
Hmmm... tak na szybko. w if porównujesz za pomocą == , a po za tym $minmax nie masz zdefiniowanego więc jak chcesz porównywać?
Liczba postów: 2,587
Liczba wątków: 2
Dołączył: 03-04-2010
Reputacja:
58
@Marys - ma zdefiniowane...
Co do samej funkcji... ja bym rekomendował jednak pójście w zwykłe zwaracanie true/false.
Dobre samopoczucie w tym tygodniu sponsoruje cytat:
Cytat:Mogę tylko tylko na prawo i lewo ale na środek nie mogę.
Liczba postów: 350
Liczba wątków: 93
Dołączył: 23-11-2008
Reputacja:
6
Liczba postów: 2,411
Liczba wątków: 14
Dołączył: 10-08-2009
Reputacja:
132
13-11-2011, 15:04
(Ten post był ostatnio modyfikowany: 13-11-2011, 15:05 przez Kartofelek.)
Hah. Kod php bardzo fajny chociaż nigdy tak w php nie pisałem. Raczej w JS.
Będę pisał o samej funkcji bo reszta 100% ok.
Ogólnie brakuje mi tam znaku równości czyli >= i <=
No i zamień or na and, ponieważ
2,4,"kod" = $val_min or $val_max = true or true = true
2,4,"krokodylek" = $val_min or $val_max = true or false = true
Ja pierdziu ale jestem magik
Liczba postów: 24
Liczba wątków: 6
Dołączył: 12-04-2010
Reputacja:
2
Wczoraj kombinowałem i doszedłem do tego co piszecie 
Testuję na osobnej klasie i mam tak:
Kod PHP: class xx {
public function min_max($val_min, $val_max, $argument) { $argument = strlen($argument); $val_min = $argument >= $val_max; $val_max = $argument <= $val_max; if ($val_min = $val_max) return true; } }
$num = new xx(); echo $num->min_max('2', '10', 'alddddddddddddro');
Gdy słowo łapie się w kryteria echo wywala mi 1, a gdy nie są spełniane nie wyświetla nic czyli dobrze myślę, że NULL ?
Mogę też dodać :
i wtedy będzie 0 lub 1 zwracane, więc tutaj jakoś to rozegram.
Problem pojawia się w mojej roboczej klasie.
Wygląda to tak:
Kod PHP: if (isset($_POST['tytul']) and isset($_POST['tresc'])) { $_POST['tytul'] = stripslashes(strip_tags(trim($_POST["tytul"]))); $_POST['tresc'] = stripslashes(strip_tags(trim($_POST["tresc"]))); if (isset($_POST['submit'])) { if ($this->min_max("3", "25", $_POST['tytul']) = NULL) { //44 linia echo"Tytuł min 3 max 25 znakow"; } elseif ($this->min_max("5", "250", $_POST['tresc']) = NULL) { // 46 linia echo"Treść min 5 max 250 znaków"; } else { $query = "insert into `coment` (`tytul`, `tresc`, `data_dodania`) VALUES('{$_POST['tytul']}','{$_POST['tresc']}',NOW())"; $this->mysqli->query($query); header('Location: index.php'); } } }
Komunikat błędu
Kod PHP: Can't use method return value in write context in config.php on line 44
Gdy zrobię == NULL wtedy normalnie mogę dodawać wpisy ale omija mi sprawdzanie ilości znaków.
Co robię nie tak ?
Liczba postów: 24
Liczba wątków: 6
Dołączył: 12-04-2010
Reputacja:
2
Jeżeli macie jakieś sugestie co do tego lub wiecie co można zrobić, żeby zrobić to w szybszy sposób to proszę o posty.
Z chęcią przyjmę wszelką konstruktywną krytykę oraz dobre rady
Ok a poniżej jak udało mi sie to zrobić by działało tak jak chciałem by działało.
Kod PHP: $error = ""; if (isset($_POST['tytul']) || isset($_POST['tresc']) || isset($_POST['submit'])) { $_POST['tytul'] = stripslashes(strip_tags(trim($_POST["tytul"]))); $_POST['tresc'] = stripslashes(strip_tags(trim($_POST["tresc"]))); if (($this->min_max(3, 25, $_POST['tytul'])) == false) { $error++; echo "Tytuł min 3 max 25 znakow. <br />"; } if (($this->min_max(5, 250, $_POST['tresc'])) == false) { $error++; echo "Treść min 5 max 250 znaków. <br />"; } if ($error == 0) { $query = "insert into `coment` (`tytul`, `tresc`, `data_dodania`) VALUES('{$_POST['tytul']}','{$_POST['tresc']}',NOW())"; $this->mysqli->query($query); header('Location: index.php'); } } }
funkcja min_max
Kod PHP: public function min_max($val_min, $val_max, $arg) { $arg = strlen($arg); $val_min = $arg >= $val_min; $val_max = $arg <= $val_max; if (!$val_min || !$val_max) { return true; } }
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
pomoc z google analitycs |
blondynka2 |
1 |
2,530 |
09-03-2015, 04:54
Ostatni post: blondynka2
|
|
Prosze o pomoc - kolor formularza kontaktowego |
puchallowen |
3 |
4,017 |
08-11-2014, 14:40
Ostatni post: Kartofelek
|
|
Wyszukiwarka na stronie - kod proszę o pomoc |
saur0n |
2 |
2,552 |
10-05-2013, 23:45
Ostatni post: kornell
|
|
Pomoc z szablonem do bloggera |
dominator1 |
0 |
1,965 |
01-05-2013, 22:40
Ostatni post: dominator1
|
|
Pomoc! |
patrique1 |
4 |
4,030 |
10-01-2013, 13:50
Ostatni post: patrique1
|
Użytkownicy przeglądający ten wątek:
|
|
Sponsorzy i przyjaciele
|
|
|