Thứ Ba, 19 tháng 3, 2024

Hướng dẫn lên tích xanh Facebook (P3)

Phần 3: Hướng dẫn lên tích xanh - Mẹo 0 đồng, lách thuế, miễn phí.

Mô tả

Đầu tiên phải nhắc lại một chút là anh em lên tích xanh (thực chất là thuê tích xanh) cho nick phụ (via) hay nick chính chủ thì bình thường anh em phải trả 399K/tháng - gọi là tiền thuê tích xanh. Đấy là kinh phí tối thiểu để xử dụng tích xanh. Như kiểu anh em mua Telegram Premium hay Nitro cho Discord thôi. Nếu anh em nào lên vì công việc, mình nghĩ đây là số tiền hợp lý.

Giờ bàn đến mẹo hoàn tiền để sử dụng tích xanh 0 đồng.

Cách làm

Mẹo hoàn tiền 0đ chỉ áp dụng được trên IOS, lý do là lợi dụng chính sách hoàn tiền rộng rãi của Apple (chả liên quan mịa gì đến FB). Anh em cứ thanh toán Meta FB bình thường sử dụng tích đến ngày thứ 29 (hoàn tiền lúc nào cũng được, nhưng mỗi lần hoàn tương đối rắc rối, nên dùng gần hết tháng hoàn tiền một thể) rồi dùng mẹo:

  1. Vào cài đặt trên iPhone vào phần đăng ký tìm đơn đã thanh toán Meta FB huỷ đăng ký.

  2. Vào - Safari vào link này https://reportaproblem.apple.com Sau đó Chọn Login rồi ấn tôi muốn yêu cầu hoàn tiền => Lý Do Chọn Mục Khác Chọn => tiếp Theo - Chọn Đúng đơn hàng của mình ấn gửi: “Meta Không Cung Cấp Dịch Vụ Cho Tôi, Mong Apple Hãy Hoàn Tiền” hoặc "Trẻ nhỏ bấm nhầm"

  3. Đợi 24h hoàn tiền về xong vào cài đặt iCloud của bước 1 chọn lại đơn hàng Meta FB, lúc này nó nằm ở mục không hoạt động ấn thanh toán lại là xong.

  4. Lặp đi lặp lại hàng tháng cho đến khi bị Apple fix (lưu ý là Apple chứ không phải Facebook)

Lưu ý

  1. Không nên dùng iCloud chính để pay Meta FB rồi yêu cầu hoàn tiền, nên làm việc này trên iCloud phụ.
  2. Một thiết bị IOS chỉ được đăng ký tối đa 5 tài khoản iCloud (nuôi được 5 nick Facebook hoàn tiền)
  3. Nếu máy bị spam không thanh toán được, anh em gọi điện tổng đài Apple Việt nam 18001127 để xin gỡ spam. Cái này anh em biết rồi đấy, tổng đài này các em hỗ trợ cực kỳ nhiệt tình và hiệu quả. Hơn nữa họ coi anh em là khách hàng thực sự nên anh em cứ gọi thoải mái.

Rủi ro

  1. Tút hoàn tiền kiểu này khả năng rất nhanh bị fix (vì nó hơi sơ đẳng)
  2. Khi mà Apple fix, khả năng lớn nhất là sẽ không được hoàn tiền liên tục hoặc từ chối hoàn tiền thôi. Nếu có án phạt thì chỉ có thể là từ Apple (vì như anh em thấy, mình làm việc với Apple chứ không phải FB). Mà từ Apple thì nặng nhất chỉ có thể là khóa iCloud. Chính vì thế anh em nên thao tác trên iCloud phụ, nếu rủi ro xảy ra, mình không mất gì.
  3. Mặc dù có rất nhiều lời đồn đoán là lạm dụng tút 0đ có thể dẫn đến khóa nick Facebook, nhưng mình cho rằng khả năng này là rất bé nếu không nói là không có cơ sở. Vì cty nước ngoài họ làm việc rõ ràng và tuân thủ qui trình pháp luật, anh em mình làm việc với Apple, nếu có bất kỳ sự cố gì thì Apple xử lý mình thôi, không có chuyện Apple mách Facebook để phạt thêm mình, như thế về mặt pháp lý không ổn, nhất là với công ty lớn.
  4. Cá nhân mình nghĩ, nếu anh em định dùng tút 0 đồng thì nên dùng cho via thôi. Nếu là mình, mình sẽ tranh thủ đăng ký 1-2 via, rồi lên tích xanh 0 đồng, quần thảo tương tác bán hàng. Nếu có sự cố gì thì vứt mấy con via đó đi thôi (mỗi con thiệt hại khoảng 150k/con, hoàn toàn chấp nhận được)

Bài viết được xây dựng bởi đội hỗ trợ Facebook của Nghiện Trick.

Share:

Hướng dẫn lên tích xanh Facebook (P2)

Phần 2: Hướng dẫn lên tích xanh - Hướng dẫn thực hiện.






Phần này tập trung hướng dẫn anh em lên tích xanh trong 15 phút, ai làm nhanh thì 5p. Hôm qua mình ngồi xem một em gái gà mờ lên tích xanh trong 10p. Chính vì thế, nếu anh em mà không lên được tích xanh sau khi đọc hướng dẫn này, là do mình lên bài chưa đủ rõ ràng, chứ không phải do anh em không biết làm, vì một em gái nhập môn sau khi được hướng dẫn cũng dễ dàng lên tích xanh.

Lên tích xanh cho nick phụ (Via)

Chi phí

  • Mua via ~150K
  • Chi phí hàng tháng 399K

Cách làm

Anh em mua một con Via về đổi info làm nick phụ, lên tích xanh cho con Via này, dùng con Via này để đi tương tác, không liên quan gì đến nick chính của anh em. Via thực chất là một nick clone. Nhiều anh em sẽ nhảy lên, nick clone thì nói mẹ là nick clone, via via cái cc. Vấn đề là khi anh em đi hỏi muốn lên tích xanh, người bán hàng sẽ hỏi anh em là muốn lên bằng Via hay là gì?

Vậy Via người bán ở đây đề cập là một nick clone, đã được người bán nuôi, xử lý để có nút

Meta đã xác minh

(Meta Verified). Đây là điều kiện

cần

để lên tích xanh. Via này đang bán ngoài thị trường từ 100-150 ngàn.

Sau khi đã có Via nút Meta đã xác minh (Meta Verified) anh em làm như sau:

  1. Đổi tên, ngày tháng năm sinh về trùng với giấy cá nhân của anh em (GPLX, CCCD). Lưu ý sau khi đổi phải tiến hành lên tích xanh ngay, nếu không để khoảng 1 ngày sẽ mất nút Meta đã xác minh (Meta Verified) và anh em sẽ không lên tích xanh được nữa.

  2. Úp ảnh bìa và ảnh Avatar (rõ mặt là được).

  3. Liên kết tài khoản Instagram vào với Facebook, nếu chưa có thì tạo ra một cái rồi liên kết vào

  4. Đổi username, vì username của Via sẽ rất linh tinh, có khi anh em là nam, username của Via lại là nữ, chả liên quan gì đến tên anh em, như kiểu nick đi mượn, vì thế phải đổi, sau khi lên tích rồi nó sẽ không cho đổi nữa

  5. Sau đó anh em có thể lên tích xanh bằng 4G của điện thoại, sử dụng phương thức thanh toán đã liên kết với Ch Play hoặc Apple Store. Tạm thời sẽ mất phí 399K nhé, có mẹo hoàn, nhưng đó là câu chuyện của phần sau.

  6. Trong quá trình lên tích, FB sẽ yêu cầu anh em cung cấp hình chụp hai mặt của giấy tờ (GPLX hoặc CCCD, sẵn cái nào thì dùng cái đó).

  7. Sau khi úp xong giấy tờ thì 5-15p là có tích xanh (hôm qua em gái nhập môn làm thử thì chưa đến 3 phút). Điều ấy có nghĩa là gì, có nghĩa là bọn AI (bot) nó duyệt, còn nếu người duyệt thì không có cách gì nhanh được thế. Vì thế hồ sơ chỉ cần chuẩn theo hướng dẫn là tích xanh về tức thì.

  8. Sau khi có tích xanh thì hàng tháng anh em phải nộp phí là 399 ngàn, nếu anh em chấp nhận mức phí này thì rủi ro rất bé, vì mình là khách hàng trả phí cho Apple và FB.

Lên tích xanh trên nick chính (đang dùng)

Chi phí

  • Chi phí hàng tháng 399K

Cách làm

Làm tích xanh cho Via như hướng dẫn bên trên thì có cái hay là:

  1. Nếu có rủi ro gì thì Via chịu hết, không liên quan gì đến nick chính.
  2. Thời gian lên tích xanh rất nhanh, mua Via, đổi thông tin, lên tích (15p cả thẩy)

Nhưng nhiều anh em muốn lên tích xanh cho nick chính đang đang dùng, cách lên đây: [Ngâm tích xanh 5-10 ngày](https://nghientrick.nghienplus.net/huong-dan-len-tich-xanh-facebook/phan-5-huong-dan-len-tich-xanh-ngam-tich-xanh-chinh-chu-5-10-ngay.). Nôm na là:

Với nick Việt Nam anh em đang dùng đã có nút tham gia vào danh sách chờ của FB, nhưng có thể anh em phải chờ vài năm, thậm chí lâu hơn.

Vì thế, nếu muốn lên tích xanh cho nick chính tại Việt Nam, anh em đem ngâm nick đó ở nước ngoài (us, ca, eu, nhật...) những quốc gia mà hiện FB đã có chính sách cho thuê tích xanh. Nguyên tắc cơ bản của việc ngâm như sau:

  • Đăng xuất toàn bộ nick đó trên các thiết bị ở Việt Nam (IP Việt). Cái này khá mấu chốt, nhiều khi anh em quên là mất công ngâm.

  • Fake IP sang (us, ca, eu, nhật...) những quốc gia mà hiện FB đã có chính sách cho thuê tích xanh dùng VPS, proxy, VPN... Tất nhiên, VPS vẫn là ưu tiến số một. Đăng nhập tài khoản và sử dụng như một người dùng thông thường: 1-2 ngày vào tương tác, check in... (anh em nào có mẹo ngâm tẩm tốt hơn thì cứ còm bên dưới, mình sẽ cập nhật vào bài viết ngay. Cảm ơn anh em nhiều lắm).

  • Khoảng 1 tháng sẽ có nút Meta đã xác minh (Meta Verified)

Sau khi có nút Meta đã xác minh (Meta Verified) thì anh em làm giống như lên tích xanh bằng Via (bên trên) là được.

Hiện tại group đang thí nghiệm phương ngâm nick chính chủ 5-10 ngày, anh em có thể tham khảo Ngâm tích xanh 5-10 ngày

Các câu hỏi thường gặp

  1. Hỏi: Lên tích xanh bằng trick có rủi ro gì không? Đáp: đọc kỹ phần 1, mình đã phân tích rất kỹ rủi ro có thể. Cá nhân mình nghĩ anh em lên tích xanh bằng nick chính hay via cũng vậy thôi, nếu không sử dụng mẹo hoàn tiền (tích xanh 0 đồng) thì rủi ro rất bé, trường hợp xấu nhất là mất tích xanh.
  2. Hỏi: Lên tích xanh bằng via thì có cần chú ý gì không? Đáp: sau khi có tích xanh anh em mới được đổi những info còn lại như : mail, sđt, xoá ảnh, bạn bè (nhưng cần ở mức giới hạn thôi - hãy chia ra nhiều ngày để làm việc này, đừng làm 1 lúc, nếu không nó sẽ cho mình vào spam, vài tiếng sau sẽ rụng tích)
  3. Hỏi: Tên nick FB có cần chính xác như trên giấy tờ không? Đáp: có thể sai một tý. Ví dụ tên mình là Phạm Quang Huy, thì tên nick FB có thể là Pham Huy, Huy Pham hoặc Quang Huy đều có thể. Tuy nhiên, nếu bạn lên tích xanh lần đầu, nên để chính xác 100% với giấy tờ để xác suất lên tích xanh cao hơn.
  4. Hỏi: Tôi có thể tạo ra một nick phụ mới rồi lên tích xanh cho nick này không? Đáp: không nên, vì nick này cũng vẫn chưa có nút Meta đã xác minh (Meta Verified), nên bạn vẫn phải mang đi ngâm trong 1 tháng. Chi bằng mua luôn 01 con via, vừa rẻ mà vừa nhanh.

Phần 3/3 sẽ viết về vụ sử dụng tích xanh 0 đồng (miễn phí), vụ này cũng không thần thánh gì đâu, nhiều anh em share tút trên Group rồi, mình chỉnh lại cho dễ hiểu chút thôi.

Bài viết được xây dựng bởi đội hỗ trợ Facebook của Nghiện Trick.

Share:

Hướng dẫn lên tích xanh Facebook (P1)

Phần 1: Hướng dẫn lên tích xanh - Phương án, rủi ro.

Đầu tiên nói về căn bản tích xanh cho anh chưa biết, có thể hầu hết anh em biết cả rồi, nhưng chỉ mất chỉ 5p thôi, không phí thời gian của anh em đâu, quan trọng là anh em phải có cái nhìn toàn cảnh thì mới quyết định được là mình sẽ nhảy vào hố nào? Xác suất trượt chân là bao nhiêu?


Có 3 phương án làm tích xanh Facebook:

Phương án 1: tích real (tích thật)

Giá cả

Khoảng 50-60 triệu (cái này giá mình tham khảo cách đây mấy năm rồi, tháng trước mình tham khảo giá còn... đi lên, hơi vô lý, nhưng không sao, vì đây không phải mục tiêu của anh em mình).

Cách làm

Tích xanh có nghĩa bạn là người của công chúng (diễn viên, ca sỹ, vận động viên...). Nếu bạn là người của công chúng thật, bạn nộp hồ sơ là duyệt cái liền. Vấn đề là bạn chưa đến tầm đó, hoặc bạn muốn làm tích xanh chơi chơi, thì phải làm giả.

Khi làm giả bạn cần 2 thứ:

  1. Một số bài báo viết về bạn.
  2. Một số lượng follow nhất định (từ 10k-50k)

Tất nhiên người của công chúng thật thì họ không cần làm giả vì mấy thứ đó họ có sẵn.

Tích này vĩnh viễn, lúc làm thì thuê mấy tờ báo cỏ viết bài, kéo link tường. Anh em vào tường nhà ai thấy đầy link báo cỏ, đấy là nó đang chuẩn bị lên tích. Sau đó nộp hồ sơ, chờ xét duyệt.

Rủi ro

Tuy là làm giả người của công chúng, nhưng cách làm thì chính thống, vì thế rủi ro rất bé.

Phương án 2: thuê tích xanh hàng tháng trên nick chính chủ

Giá cả

300-400K VND/tháng, mắc đúng không, dừng nhảy lên vội, đọc hết bài anh em sẽ thấy giá này quá rẻ, lý do thì ngay cả mấy ông đang cầm tích xanh cũng không biết, hoặc biết cũng không biết tới nơi.

Cách làm

Phương án này có thể lên tích xanh cho nick chính. Chỉ cần nick của anh em chính chủ, thông tin trùng với giấy tờ, úp giấy tờ lên, đồng ý trả tiền hàng tháng là có tích xanh dùng. Vấn đề là dịch vụ này Facebook chưa cung cấp ở Việt nam, vì thế muốn làm theo cách này phải dùng một số thủ thuật để đánh lừa Facebook là mình đang ở các quốc gia khác (như Mỹ, Canada...). Mang nick sang Mỹ, Canada... ngâm một thời gian. Cụ thể cách làm group sẽ cầm tay chỉ việc ở bài sau.

Rủi ro

Cách này tuy là có đánh lừa Facebook, nhưng trả tiền đàng hoàng, nên khả năng khi Facebook phát hiện ra thì án phạt cao nhất là rụng mất tích xanh.

Phương án 3: thuê tích xanh cho via

Giá cả

150K mua via + 400K lên tích xanh. Giá cả thì mình chỉ để mức tham khảo thôi, chứ mình biết giá tốt nhất, nhưng để giá tốt nhất vào, gây khó khăn không cần thiết cho anh em đang làm dịch vụ. Vì thế không cần bắt bẻ câu chữ.

Cách làm

Phương án này là lên tích xanh cho một nick phụ (via), không liên quan gì đến nick chính của anh em, anh em mua via (nick phụ) đã được người bán ngâm tẩm ở Mỹ, Canada... một thời gian rồi, có sẵn nút Meta Verify rồi (đủ điều kiện để lên tích xanh), anh em chỉ cần mua về, trả liền là lên tích xanh liền. Việc này có 2 cái lợi:

  1. Không phải chờ đợi gì,
  2. Lên tích xanh trên nick phụ, nên sau này có án phạt gì thì cũng không ảnh hưởng đến nick chính.

Anh em nào muốn trải nghiệm, phương án này khá hợp lý.

Rủi ro

Phần 1: Hướng dẫn lên tích xanh - Phương án, rủi ro.


Như phương án 2 thôi, FB nó phát hiện ra thì nó tháo đi tích xanh, nhưng được cái vì là via, nên nick chính không ảnh hưởng gì. Nhưng nếu dùng con via này tốt, thì lại ngon hơn tưởng tượng. Lý do đọc tiếp [Mẹo sử dụng tích xanh 0 đồng, lách thuế, miễn phí](https://nghientrick.nghienplus.net/huong-dan-len-tich-xanh-facebook/phan-3-huong-dan-len-tich-xanh-meo-0-dong-lach-thue-mien-phi.).

Giờ đến đoạn quan trọng, tại sao 300K-400K VND/tháng lại là rẻ?

  1. Nick tích xanh có tương tác gấp 2-3 lần nick thường, điểm mấu chốt ở chỗ này. Bọn FB cực kỳ đểu, không công bố rõ ràng như tụi Twitter, rất lập lờ, âm thầm đẩy tương tác cho tích xanh, vì thế phải ông nào trải nghiệm rồi mới biết, ngay cả mấy ông bán tích cũng không biết. Có thể sau này mọi thứ rõ ràng ra, tụi FB nó sẽ lại âm thầm rút đi quyền lợi này. TSB nó.
  2. Nick tích xanh tuy bị dính gậy, mọi án phạt như nick thường, không có ưu tiên gì hết (trừ bóp tương tác). Tích xanh dù dính án phạt bóp tương tác, nhưng tương tác vẫn x2 như thường.
  3. Chưa kể tích xanh dùng kinh doanh thì bọn đối thủ nhìn chán luôn chả buồn RIP, ai từng trải qua tình cảnh nick bán hàng đang tốt thì bị rip nick, mất trắng, làm lại từ đầu, ức không thể nào tả.

Giờ anh em đã thấy lợi hại của nó chưa? Nhất là mấy anh em làm kinh doanh, 300-400 ngàn không đủ để anh em chạy 1 ngày quảng cáo, chưa kể lượng reach không thể tự nhiên bằng tích xanh, hơn nữa không có cộng dồn, ngừng quảng cáo là hết reach. Vì thế trong lúc thời điểm nhá nhem này, khi mà bọn khác chưa rõ ràng, mình khuyên anh em mua 1-2 tích xanh chạy tương tác, rồi dùng thủ thuật đẩy tương tác/khách hàng về nick chính (tất nhiên phải có đòn riêng), rồi sau đó, dù nick có tích xanh có bị chết, vứt bố nó đi, mua con khác, lại chiến tiếp.

Lúc này nhá nhem mới dùng được đòn này, lúc mà nhà nhà có tích xanh rồi, hoặc FB nó fix thì đòn này coi như bỏ. Vì thế, mấy ông kinh doanh thì đừng do dự vụ đắt rẻ nữa.

Bài viết được xây dựng bởi đội hỗ trợ Facebook của Nghiện Trick.

Share:

Thứ Hai, 18 tháng 3, 2024

Gốc Chia Sẽ

TỔNG HỢP CÁC KIẾN THỨC VÀ CÁC ĐOẠN CODE DÙNG TRONG CÔNG VIỆC


Các trang web lấy code:


https://codepad.co/

https://www.30secondsofcode.org/




Các kiến thức cơ bản trong php


hàm truy xuất tới phần tử tước đó trong mảng php: prev()

hàm dùng để thêm phần tử vào cuôi mảng: array_push()

hàm để nén 1 chuỗi : GZCOMPRESS()

magic function: https://viblo.asia/p/magic-methods-trong-php-4dbZN7bklYM

hàm nhận dữ liệu trả về từ câu truy vấn database: fetch_array() and fetch_row()

hàm dùng để lấy 1 or nhiều giá trị ngẫu nhiên từ mảng php: array_rand()


Hàm sắp xếp cho mảng

Trong bài viết này, chúng ta sẽ tìm hiểu một số hàm sắp xếp cho mảng dưới đây:

  • sort() – sắp xếp theo thứ tự tăng dần (tính theo giá trị);
  • rsort() – sắp xếp theo thứ tự giảm dần (tính theo giá trị);
  • asort() – sắp xếp mảng kết hợp theo thứ tự tăng dần, tính theo giá trị;
  • ksort() – sắp xếp mảng kết hợp (liên kết) theo thứ tự tăng dần tính theo khóa;
  • arsort() – sắp xếp mảng kết hợp giảm dần tính theo giá trị;
  • krsort() – sắp xếp mảng theo thứ tự giảm dần tính theo khóa;

array_count_values() trong php dùng để đếm số lần trùng lặp giá trị của các phần tử trong mảng


example:

<?php

echo "this is content file test \n";

$num = "1";

$num1 = "2";

echo "<br>";

echo $num + $num1;

#result: 3;


echo "<br>";


$color = "asdfghjkl";

echo $color[2];

echo "<br>";

#result: d


$cor = 1234;

$convert = (array)$cor;

echo $convert[0];

echo "<br>";

#result: arr[0]=1234


$total = "25 students";

#show display: 25 students

$more = 10;

// echo $total + $more;

$total = $total + $more;


echo "$total";

#result: 35


echo "<br>";


#nối chuỗi

$a = "clue";


$a .= "get";


echo "$a";

#result: clueget


?>

Câu lệnh trong laravel

php artisan migrate:rollback --step=1

php artisan migrate --path="./database/migtations/name_table.php


Các đoạn code trong Laravel

format time theo Carbon 

{{ Carbon\Carbon::parse($notification->time_send)->format('H:i') }}

Code chuyển ngày sang thứ trong tuần

$weekMap = [

yi    0 => 'SU',
    1 => 'MO',
    2 => 'TU',
    3 => 'WE',
    4 => 'TH',
    5 => 'FR',
    6 => 'SA',
];
$dayOfTheWeek = Carbon::now()->dayOfWeek;
$weekday = $weekMap[$dayOfTheWeek];

https://thewebdev.info/2021/05/01/how-to-loop-through-a-date-range-with-javascript/

lấy ra giá trị trùng lặp, lọc giá trị trùng lập
https://www.codegrepper.com/code-examples/javascript/check+duplicate+in+array+javascript
const names = ['Mike', 'Matt', 'Nancy', 'Adam', 'Jenny', 'Nancy', 'Carl']

const count = names =>
  names.reduce((a, b) => ({ ...a,
    [b]: (a[b] || 0) + 1
  }), {}) // don't forget to initialize the accumulator

const duplicates = dict =>
  Object.keys(dict).filter((a) => dict[a] > 1)

console.log(count(names)) // { Mike: 1, Matt: 1, Nancy: 2, Adam: 1, Jenny: 1, Carl: 1 }
console.log(duplicates(count(names))) // [ 'Nancy' ]


- kiểm tra tham số có tồn tại trong mảng hay không
https://stackoverflow.com/questions/22844560/check-if-object-value-exists-within-a-javascript-array-of-objects-and-if-not-add
vd arr = ['a','b','c','d'];
arr.some(i => i == 'c');
// result : true


lấy tất cả các ngày trong 1 khoảng thời gian nhất định
cach 1 : chỉ lấy ngày tháng năm
$period = CarbonPeriod::create('2018-06-14', '2018-06-20');

// Iterate over the period
foreach ($period as $date) {
    echo $date->format('Y-m-d');
}

// Convert the period to an array of dates
$dates = $period->toArray();

cach 2: lấy được thứ ngày
$begin = new DateTime('2010-05-01');
$end = new DateTime('2010-05-10');

$interval = DateInterval::createFromDateString('1 day');
$period = new DatePeriod($begin, $interval, $end);

foreach ($period as $dt) {
    echo $dt->format("l Y-m-d H:i:s\n");
}


lấy data dạng mảng trong cột db ra template laravel
json_decode: chuyển nó về dạng mảng
sau đó foreach
$sentAts = json_decode($data->sent_at);
$sentAtText = ' ';
if(!empty($sentAts) ){
foreach($sentAts as $sent){
$sentAtText .= '<p>'.$sent.'</p>';
}
return $sentAtText;
}

query cùng lúc cả 2 trong laravel


whereNotIn('send_type', [2, 3]) send_type != 2 và 3


parse theo carbon

https://carbon.nesbot.com/docs/


Carbon::now(env('TIMEZONE_STRING','Asia/Ho_Chi_Minh'))->dayOfWeek()


lấy dữ liệu trong data from


ví dụ:

<form role="form" method="post" action="/" name="Form">
<label>Name</label>
<input type="text" name="fieldName" required />
</form>


document.forms['Form']['fieldName'].value;


['Form'] là tên Form đặt trong name="...."

['fieldName'] là tên set trong name=".." input


lấy các giá trị trùng nhau trong 2 mảng

https://www.php.net/manual/en/function.array-intersect.php

array_intersect($arr1, $arr2);

cách check CKEDITOR empty và form empty(js)

// CKEDITOR.on('instanceCreated', function(e) {
// e.editor.on('contentDom', function() {
// e.editor.document.on('keyup', function(event) {
// if(CKEDITOR.instances.titleViCKE.getData() == ""){
// document.getElementById('message-titleViCKE-error').style.display = 'block';
// document.getElementById('message-titleViCKE-error').innerHTML = 'Title (in app) not null';
// return false;
// }



// else{
// document.getElementById('message-titleViCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.titleEnCKE.getData() == ""){
// document.getElementById('message-titleEnCKE-error').style.display = 'block';
// document.getElementById('message-titleEnCKE-error').innerHTML = 'Title (in app) not null';
// }
// else{
// document.getElementById('message-titleEnCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.descriptionEnCKE.getData() == ""){
// document.getElementById('message-descriptionEnCKE-error').style.display = 'block';
// document.getElementById('message-descriptionEnCKE-error').innerHTML = 'Description (in app) not null';
// }
// else{
// document.getElementById('message-descriptionEnCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.descriptionViCKE.getData() == ""){
// console.log("check data: ", CKEDITOR.instances.descriptionViCKE.getData());
// document.getElementById('message-descriptionViCKE-error').style.display = 'block';
// document.getElementById('message-descriptionViCKE-error').innerHTML = 'Description (in app) not null';
// }
// else{
// document.getElementById('message-descriptionViCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.contentViCKE.getData() == ""){
// document.getElementById('message-contentViCKE-error').style.display = 'block';
// document.getElementById('message-contentViCKE-error').innerHTML = 'Content (in app) not null';
// }
// else{
// document.getElementById('message-contentViCKE-error').style.display = 'none';
// }
// if(CKEDITOR.instances.contentEnCKE.getData() == ""){
// document.getElementById('message-contentEnCKE-error').style.display = 'block';
// document.getElementById('message-contentEnCKE-error').innerHTML = 'Content (in app) not null';
// }
// else{
// document.getElementById('message-contentEnCKE-error').style.display = 'none';
// }
// });
// });
// });

// function validateForm() {
// let checkTabDesEn = document.forms['Form']['description_notification[en]'].value;
// let checkTabDesVi = document.forms['Form']['description_notification[vi]'].value;
// let checkTabTitleEn = document.forms['Form']['title_notification[en]'].value;
// let checkTabTitleVi = document.forms['Form']['title_notification[vi]'].value;
// let checkTitleVi = document.forms['Form']['title[vi]'].value;
// let checkTitleEn = document.forms['Form']['title[en]'].value;
// let checkDescVi = document.forms['Form']['description[vi]'].value;
// let checkDescEn = document.forms['Form']['description[en]'].value;
// let checkContentVi = document.forms['Form']['content[vi]'].value;
// let checkContentEn = document.forms['Form']['content[en]'].value;

// if(checkTabDesVi === '' || checkTabTitleVi === '' || checkTitleVi === '' || checkDescVi === '' || checkContentVi === ''){
// console.log("check 1: ", checkTabDesVi)
// console.log("check 2: ", checkTabTitleVi)
// console.log("check 3: ", checkTitleVi)
// console.log("check 4: ", checkDescVi)
// console.log("check 5: ", checkContentVi)
// document.getElementById('message-error').style.display = 'block';
// document.getElementById('message-error').innerHTML = 'Please fill in the content in the vietnamese tab';
// return false;
// }
// else if(checkTabDesEn === '' || checkTabTitleEn === '' || checkTitleEn === '' || checkDescEn === '' || checkContentEn === '') {
// document.getElementById('message-error').style.display = 'block';
// document.getElementById('message-error').innerHTML = 'Please fill in the content in the english tab';
// return false;
// }else{
// document.getElementById('message-error').style.display = 'none';
// }
// // if(checkTabDesVi === '' && checkTabDesEn === ''){
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Please fill in the content in the english tab';
// // return false;
// // }

// // if(checkTabDesEn === '' || checkTabTitleEn === '') {
// // console.log("check 1: ", checkTabDesEn);
// // console.log("check 1.1: ", checkTabTitleEn);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Please fill in the content in the english tab';
// // return false;
// // }
// // if(checkTabDesVi === '' || checkTabTitleVi === '') {
// // console.log("check 2: ", checkTabDesVi);
// // console.log("check 2.1: ", checkTabTitleVi);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Please fill in the content in the vietnamese tab';
// // return false;
// // }
// // if(checkTitleVi === '' || checkTitleEn === ''){
// // console.log("check 3: ", checkTitleVi);
// // console.log("check 3.1: ", checkTitleEn);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Title (in app) not null';
// // return false;
// // }
// // if(checkDescEn === '' || checkDescVi === ''){
// // console.log("check 4: ", checkDescEn);
// // console.log("check 4.1: ", checkDescVi);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Description (in app) not null'
// // return false;
// // }
// // if(checkContentVi === '' || checkContentEn === ''){
// // console.log("check 5: ", checkContentVi);
// // console.log("check 5.1: ", checkContentEn);
// // document.getElementById('message-error').style.display = 'block';
// // document.getElementById('message-error').innerHTML = 'Content (in app) not null'
// // return false;
// // }
// }


check form theo jquery
$(document).on('click', '#submit', function () {
// CKEDITOR.replace( 'descriptionViCKE' );
// CKEDITOR.replace( 'titleViCKE' );
// CKEDITOR.replace( 'descriptionEnCKE' );
// CKEDITOR.replace( 'titleEnCKE' );
// CKEDITOR.replace( 'contentViCKE' );
// CKEDITOR.replace( 'contentEnCKE' );
let checkTabDesEn = document.forms['Form']['description_notification[en]'].value;
let checkTabDesVi = document.forms['Form']['description_notification[vi]'].value;
let checkTabTitleEn = document.forms['Form']['title_notification[en]'].value;
let checkTabTitleVi = document.forms['Form']['title_notification[vi]'].value;
let checkTitleVi = CKEDITOR.instances.titleViCKE.getData();
let checkTitleEn = CKEDITOR.instances.titleEnCKE.getData();
let checkDescVi = CKEDITOR.instances.descriptionViCKE.getData();
let checkDescEn = CKEDITOR.instances.descriptionEnCKE.getData();
let checkContentVi = CKEDITOR.instances.contentViCKE.getData();
let checkContentEn = CKEDITOR.instances.contentEnCKE.getData();

if(checkTabTitleVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Title Notification ( display when mobile phone is locked) must not be empty';
return false;
}
if(checkTabDesVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Description Notification ( display when mobile phone is locked) must not be empty';
return false;
}
if(checkTitleVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Title (in-app) must not be empty';
return false;
}
if(checkDescVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Description (in-app) must not be empty';
return false;
}
if(checkContentVi === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Content (in-app) must not be empty';
return false;
}
if(checkTabTitleEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Title Notification ( display when mobile phone is locked) must not be empty';
return false;
}
if(checkTabDesEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Description Notification ( display when mobile phone is locked) must not be empty';
return false;
}
if(checkTitleEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Title (in-app) must not be empty';
return false;
}
if(checkDescEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Description (in-app) must not be empty';
return false;
}
if(checkContentEn === ''){
document.getElementById('message-error').style.display = 'block';
document.getElementById('message-error').innerHTML = 'Content (in-app) must not be empty';
return false;
}
})




Delete all trong laravel
function trong controller
public function deleteAll(Request $request)
{
// dd($request);
$ids = $request->ids;
\DB::table("cards")->whereIn('id',explode(",",$ids))->delete();
return response()->json(['success'=>"Deleted successfully."]);
}
\

chuyển đổi mảng thành chuỗi trong php dùng explode

explode(separator,string,limit)

Trong đó:

  • separator: ký tự hoặc chuỗi ký tự phân cách sử dụng để phân biệt các phần tử trong chuỗi.
  • string: chuỗi cần tách thành mảng.
  • limit: xác định số phần tử của mảng đầu ra.
    • >0: trả về mảng có số phần tử là limit phần tử đầu
    • <0: trả về mảng có số phần tử là limit phần tử cuối
    • 0: trả về mảng với 1 phần tử
chuyển chuỗi thành mảng => explode , nối mảng dùng array_merge


Share:

a1c4b3.blogspot.com

Tìm kiếm Blog này

lifecycle hook angular

Labels