Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] jak przerobic ten kawalek kodu, aby nie powtarzac
AndyPSV
post
Post #1





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


jak przerobic ten kawalek kodu,
  1. if($r['access'] == 1) {
  2. if(empty($this->u['id'])) {
  3. $r['infobox'] = 1; $r['text'] = substr($r['text'],0,$r['cut']); $r['text'] .= '... <a href="'.URL.'cart/?'.$r['product'].'=1" class="b">BUY ACCESS TO ARTICLE TO VIEW</a>';
  4. $this->tpl->assign('infbox1',PG_SAMPLE); $this->tpl->assign('infbox2','Please <a href='.URL.'cart/?'.$r['product'].'=1>make payment</a> and become a member to get the missing part');
  5. } else {
  6. if(!in_array($r['id'],array($this->u['paid']))) {
  7. $r['infobox'] = 1; $r['text'] = substr($r['text'],0,$r['cut']); $r['text'] .= '... <a href="'.URL.'cart/?'.$r['product'].'=1" class="b">BUY ACCESS TO ARTICLE TO VIEW</a>';
  8. $this->tpl->assign('infbox1',PG_SAMPLE); $this->tpl->assign('infbox2','Please <a href='.URL.'cart/?'.$r['product'].'=1>make payment</a> and become a member to get the missing part');
  9. }
  10. }
  11. }


aby nie trzeba bylo 2 razy powtarzac:

  1. $r['infobox'] = 1; $r['text'] = substr($r['text'],0,$r['cut']); $r['text'] .= '... <a href="'.URL.'cart/?'.$r['product'].'=1" class="b">BUY ACCESS TO ARTICLE TO VIEW</a>';
  2. $this->tpl->assign('infbox1',PG_SAMPLE); $this->tpl->assign('infbox2','Please <a href='.URL.'cart/?'.$r['product'].'=1>make payment</a> and become a member to get the missing part');


jakies koncepcje?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Przypisać PRZED if(empty($this->u['id'])) i zmienić jedynie w przypadku nie pasującym do sytuacji? winksmiley.jpg

EDIT: Innymi słowy... Domyślnie jest to ustawione, a kasujesz tylko w wypadku, gdy user ma wykupione członkostwo.
Powód edycji: [thek]: Małe objaśnienie


--------------------
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
Go to the top of the page
+Quote Post
redeemer
post
Post #3





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Instrukcje są takie same, więc powinieneś skorzystać z operatora logicznego "lub".




--------------------
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A to nie prościej zrobić z negacją? Jeśli niepuste u['id'] oraz r['id'] jest w tablicy opłaconych skasuj tekst o konieczności płatności ustawiony przed owym IF sprawdzającym. Kwestia w sumie wyboru.


--------------------
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
Go to the top of the page
+Quote Post
AndyPSV
post
Post #5





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


Wydaje mi sie, ze zle mnie zrozumieliscie (albo ja czegos nie widze)

Kod wyglada tak


JESLI(NIEZALOGOWANY) {
wywal kod o kupnie artykulu
} ELSE {
JESLI(ARTYKUL_ID, JEST WYKUPIONY_ID) POKAZ ARTYKUL; ELSE wywal kod o kupnie artykulu


mmhm
moze jednak cos zgubilem

jak to rozwiazac
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




No to "przeczytaj" moje podejście.
Wyświetl informacje o kupnie.
Jeśli jest zalogowany (niepuste u[id] ) oraz jest w opłaconych (r[id] w tablicy u[paid]) to wywal jednak ten komunikat, nie pokazuj go winksmiley.jpg Zrobiłem to więc od drugiej strony niż Ty Pokazuję komunikat zawsze oprócz przypadku gdy zalogowany i opłacony.


--------------------
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
Go to the top of the page
+Quote Post
AndyPSV
post
Post #7





Grupa: Zarejestrowani
Postów: 393
Pomógł: 5
Dołączył: 6.02.2003
Skąd: The.Luciferian.Doctrine.p
df

Ostrzeżenie: (30%)
XX---


tak jak powiedziales nie dzialalo, bo pozostal jeszcze problem niezalogowanego, ale przerobilem skrypt dzieki twym poradom, ze juz dziala:

  1. if((empty($this->u['id'])) OR (!empty($this->u['id']) AND !in_array($r['id'],array($this->u['paid'])))) {
  2. $r['infobox'] = 1; $r['text'] = substr($r['text'],0,$r['cut']); $r['text'] .= '... <a href="'.URL.'cart/?'.$r['product'].'=1" class="b">BUY ACCESS TO ARTICLE TO VIEW</a>';
  3. $this->tpl->assign('infbox1',PG_SAMPLE); $this->tpl->assign('infbox2','Please <a href='.URL.'cart/?'.$r['product'].'=1>make payment</a> and become a member to get the missing part');
  4. }


ah ta logika
dzieki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 16:15