[PHP]pomoc przy zadaniu, czy jest ktoś w stanie zrobić i wytłumaczyć co i jak powinno być w tym |
[PHP]pomoc przy zadaniu, czy jest ktoś w stanie zrobić i wytłumaczyć co i jak powinno być w tym |
23.09.2015, 13:02:23
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 23.09.2015 Ostrzeżenie: (0%) |
Witam, mam problem z poniższym zadaniem. Dostałam kilka zadań ale z tym jednym nie mam kompletnie pojęcia jak się za nie zabrać. Znajdzie się ktoś na tyle wyrozumiały zeby je zrobić i możliwie jak najdokładniej skomentował?
Napisz funkcję, która: - zbierze możliwe informacje o użytkowniku z $_SERVER - na ich podstawie utworzy ich stosunkowo unikalny identyfikator (maks 32 znaki) i go zwróci /function userUniqId(){ } $userId=userUniqId(); /* |
|
|
23.09.2015, 13:15:18
Post
#2
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) |
Zacznij od tego: http://php.net/manual/en/reserved.variables.server.php
Wyszukaj, które dane z tej tablicy odnoszą się do użytkownika i można z nich skorzystać do wygenerowania unikalnego identyfikatora. -------------------- Szanuj innych czas! Kliknij , gdy pomocną wskazówkę otrzymasz.
|
|
|
23.09.2015, 13:17:33
Post
#3
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) |
Hm.
Możesz pobrać np.
I zahashować je jakimś algorytmem który zrobi to jak najbardziej unikalnie. Np. Jednak nie mam pewnosci czy o takie cos chodzilo Ten post edytował KsaR 23.09.2015, 13:18:04 -------------------- |
|
|
23.09.2015, 16:23:09
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 23.09.2015 Ostrzeżenie: (0%) |
Zrobiłam jednak coś takiego:
Pokazuje mi teraz moje IP oraz przeglądarke z jakiej korzystam tylko teraz jak zrobić ten uniwersalny identyfikator? |
|
|
23.09.2015, 16:32:44
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
tobie wystarczy md5()
|
|
|
23.09.2015, 16:37:05
Post
#6
|
|
Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) |
tobie wystarczy md5() Cytat (maks 32 znaki) Tak naprawdę to już jest podpowiedź jakiego hashowania użyć.-------------------- |
|
|
23.09.2015, 16:47:13
Post
#7
|
|
Grupa: Zarejestrowani Postów: 520 Pomógł: 102 Dołączył: 15.07.2014 Skąd: NULL Ostrzeżenie: (0%) |
Ano, nie doczytalem tego 32.
Kierowalem sie powtarzalnoscia. -------------------- |
|
|
23.09.2015, 17:12:18
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 23.09.2015 Ostrzeżenie: (0%) |
Czyli mniej więcej taki kod powinien być już ok? :
Zrobię to tak jak jest wyżej, a teraz mam kolejne pytanie, a w zasadzie prośbę o sprawdzenie: Treść: funkcja, która przyjmie jako parametr, wynik funkcji stringRepeat i - sprawdzi czy string zawiera napis 'koniecznie' i umieści wynik tego sprawdzenia w zmiennej $stringExist o typie boolean - policzy ilość wystąpięń stringu podanego jako parametr $newString i umieści wynik w zmiennej $stringCount o typie int Zrobiłam coś takiego ale nie do końca jestem przekonana co do poprawności. Z góry dziękuje za pomoc
Ten post edytował loooki92 23.09.2015, 17:02:13 |
|
|
23.09.2015, 19:31:48
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Ogólnie podejście dobre, choć zapomniałaś, że indeksowanie tablicy jest od 0, a nie 1. No i można nieco sprawę zoptymalizować przyjmując pewne wartości domyślne. Funkcję masz jednak wykonaną w miarę poprawnie ( poza sprawdzeniem wystąpienia... sprawdź co i kiedy zwraca ta funkcja)i to o czym wspominam to już nieco "czepialstwo". Ogólnie można też zamiast posługiwać się w wyniku indeksem tablicy asocjacyjnej, by wiadomo było czym są 0 i 1 indeks wyniku. Stąd bardziej optymalne jest moim zdaniem wyrzucenie osobnych zmiennych (choć to pogwałcenie założeń zadania ) i od razu posłużenie się tablicą. W efekcie powstanie nam:
A teraz pytanie jakie możesz zadać nauczycielowi, by go zaskoczyć Czemu gdy wywołamy funkcję w postaci stringExistAndCount('alalalala', 'ala') wynik będzie ['stringExists' => false, 'stringCount' => 2] a nie przykładowo ['stringExists' => false, 'stringCount' => 4] Jeśli tego sama nie wiesz, to sprawdź jak działa substr_count. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
Wersja Lo-Fi | Aktualny czas: 20.04.2024 - 04:42 |