Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [SQL][PHP]2 pytania
login90
post 14.11.2020, 09:44:33
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


Witam.
Szukałem odpowiedzi na te pytania i nie mogłem nigdzie znależć. pierwsze pytanie to jak zrobić w htacess aby w url był napis np www.localhost/fajne-forum , a nie fajne%20forum. Chodzi mi o to by usunąć spacje %20 i zastąpić - myślnikiem.
Drigie pytanie to tworze strone ze śmiesznymi obrazkami i chciałbym aby każdy mógł dodać obrazek, filmik ale w odstępach czasu np mozesz dodaż obrazek 1 na godzine. Jak zrobić aby pojawił się taki kominikat
Dzięki
Go to the top of the page
+Quote Post
dublinka
post 14.11.2020, 10:39:36
Post #2





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Cytat(login90 @ 14.11.2020, 08:44:33 ) *
Drigie pytanie to tworze strone ze śmiesznymi obrazkami i chciałbym aby każdy mógł dodać obrazek, filmik ale w odstępach czasu np mozesz dodaż obrazek 1 na godzine. Jak zrobić aby pojawił się taki kominikat
Dzięki

Jesli robisz to na bazie to mozesz dodac rekord z datą plus godzina do przodu i sprawdzac aktualny czas (timestamp) Jesli aktualny bedzie juz wiekszy od tego w bazie, automatycznie aktualizuj tabele i usun wpis - te date dajac mozliwosc dodania obrazka

Ten post edytował dublinka 14.11.2020, 10:40:26


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 14.11.2020, 10:40:49
Post #3





Grupa: Zarejestrowani
Postów: 1 837
Pomógł: 226
Dołączył: 20.03.2005
Skąd: Będzin

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


1.
Ja dopytam:
W jaki sposób tworzysz te odnośniki, gdzie jest znacznik spacji, że następnie koniecznie potrzebujesz to przerabiać na myslniki?
Jeżeli takie odnośniki masz w SQL albo w kodzie plików strony, to wystarczy zamienić choćby funkcją str_replace() dla php.

2.
Obraz dodawany do bazy przez użytkownika, ma także informację o czasie (tutaj polecam unixowy system) i użytkowniku.
Wystarczy:
a) zablokować stronę/guzik dodawania sprawdzając kiedy był ostatni wrzut. (można w JS to zrobić)
cool.gif po wrzuceniu sprawdzić kiedy był ostatni wrzut i wywalić komunikat.

Go to the top of the page
+Quote Post
login90
post 14.11.2020, 14:25:32
Post #4





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


Próbowałem wstawić str_replace przy dodawaniu opisu do obrazka
  1. $name =str_replace(" ", "-",($_POST['name']));

i url jest taki localhost/image/fajny-obrazek tylko jak zrobić aby opis sam był bez tego myslnika. chodzi mi o to aby jak sie przeglada obrazek to opis na stronie był normalny ze spacją nie myślnikiem
Go to the top of the page
+Quote Post
viking
post 14.11.2020, 14:36:23
Post #5





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Zrób sobie w bazie 2 pola. Opis przekształcony raz podczas tworzenia który będzie tytułem i właściwy drugi.


--------------------
Go to the top of the page
+Quote Post
dublinka
post 14.11.2020, 15:11:02
Post #6





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Cytat(login90 @ 14.11.2020, 13:25:32 ) *
Próbowałem wstawić str_replace przy dodawaniu opisu do obrazka
  1. $name =str_replace(" ", "-",($_POST['name']));

i url jest taki localhost/image/fajny-obrazek tylko jak zrobić aby opis sam był bez tego myslnika. chodzi mi o to aby jak sie przeglada obrazek to opis na stronie był normalny ze spacją nie myślnikiem

Zawsze mozesz zrobic to na odwrot. Myslnik zamienic na spacje


--------------------
Go to the top of the page
+Quote Post
login90
post 14.11.2020, 21:36:46
Post #7





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


Tworze możliwość dodawania po określonym czasie i mam taki przykładowy kod
  1. $query = "Select *from image";
  2. $results = mysqli_query($db, $query);
  3. while($row = mysqli_fetch_assoc($results)) {
  4. if($row['date'] < i tu nie wiem)
  5. {
  6. echo 'nie mozesz dodad';
  7. }else{
  8. echo 'mozesz dodac';
  9. }
  10.  
  11. }if(mysqli_num_rows($results) == '0'){
  12. echo 'brak rekordów';
  13. }
  14.  

Jak zrobić aby czytał date np godzina od ostatniego dodania obrazka $row['date'] < i tu nie wiem jak zrobić data od ostatniego dodania do godziny
Go to the top of the page
+Quote Post
dublinka
post 14.11.2020, 22:09:52
Post #8





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


https://dev.mysql.com/doc/refman/8.0/en/dat...-functions.html

A sam warunek dodaj do zapytania.


SELECT *
FROM tabela
WHERE polezdata < NOW()

'polezdata' ma zawierac czas z dodana godzina. Polezdata to typ pola timestamp

DATE_ADD(NOW() , INTERVAL 1 HOUR) ,

Ten post edytował dublinka 14.11.2020, 23:45:27


--------------------
Go to the top of the page
+Quote Post
gino
post 14.11.2020, 22:16:22
Post #9





Grupa: Zarejestrowani
Postów: 319
Pomógł: 52
Dołączył: 18.02.2008

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


Wszystko fajnie, tylko pobieraj jeszcze IP użytkownika, bo w tym przypadku to ktoś może mieć pecha i nigdy nic nie doda. Chyba, że to tak ma działać: co 1 godzinę kto sie wbije pierwszy to dodaje, co jest bez sensu.
edit: chyba, że trzeba założyć konto, ale zapytanie i tak jest bez sensu

Ten post edytował gino 14.11.2020, 22:22:07
Go to the top of the page
+Quote Post
Tomplus
post 15.11.2020, 02:55:00
Post #10





Grupa: Zarejestrowani
Postów: 1 837
Pomógł: 226
Dołączył: 20.03.2005
Skąd: Będzin

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


Oczywiście tego sobie nie wyobrażam, ale ...

@login90
Zrób jak Dublinka przedstawił, ale również bazuj na ID użytkownika, a aby znaleźć czy ktoś może lub nie dodawać to:

  1. $query = "SELECT 1 FROM image WHERE pole_z_data < NOW() AND user_id = :userId LIMIT 0,1";
  2. $results = mysqli_query($db, $query);
  3. if(mysqli_num_rows($results) > 0) {
  4. echo "Nie możesz dodawać, między dodawanym obrazom musi minąć godzina";
  5. } else {
  6. echo "Dodaj obraz uzupełniając pola formularza";
  7. }
Go to the top of the page
+Quote Post
login90
post 17.11.2020, 15:03:29
Post #11





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


Zrobiłem z tym dodawaniem i czasu i działa. Dzięki. Nie będę zakładać nowego wątku tylku tu napisze. Chodzi o strone błędu, 404 jak ktoś wpisze żle adres nie istniejący to ma mu się wyświtlić wiadomo page not found 404 i teraz pytanie co robie żle.
Mam plik htaccess wpisuje ErrorDocument 404/ error.php na xampie i stwarzam error.php i nie działa. Robiłem według tutoriali wszystko tak jak nalezy i nie działa. Mozecie mi napisać jak to powinno wygladac. Dzieki

Ten post edytował login90 17.11.2020, 15:03:47
Go to the top of the page
+Quote Post
gino
post 17.11.2020, 20:15:09
Post #12





Grupa: Zarejestrowani
Postów: 319
Pomógł: 52
Dołączył: 18.02.2008

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


spróbuj z całym adresem:

Kod
RewriteEngine on
ErrorDocument 404   http://localhost/my_name_site/error.php


u mnie tak działało.

Ten post edytował gino 17.11.2020, 20:17:27
Go to the top of the page
+Quote Post
login90
post 1.12.2020, 23:09:46
Post #13





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


Hej odnoścnie tego str_replace. Stworzyłem strone ze śmiesznymi obrazkami i chciałbym aby dodający wpisywał normalnie nazwe i czy można zrobić tak aby było jakiś ukryte pole i jedno było by z str_replace a dtugie do wyświtlania rekordku.
Chodzi mi o to , że jak wpisuje nazwe to chciałbym aby jedno było jakieś ukryte pole bez tego str_replace i żeby pobierać z bazy danych do wyśwtlania normalnie bez tego myślnika na stronie. Dzięki
Go to the top of the page
+Quote Post
gino
post 2.12.2020, 07:27:52
Post #14





Grupa: Zarejestrowani
Postów: 319
Pomógł: 52
Dołączył: 18.02.2008

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


dublinka w #6 odpowiedział jak to zrobić, odwrotnie do tego jak zamieniasz spację na myślnik:

Kod
$name =str_replace("-", " ",($_POST['name']));


albo opisz dokładniej problem.
Go to the top of the page
+Quote Post
viking
post 2.12.2020, 07:51:52
Post #15





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


Dokładnie to ci napisałem w poście nr 5.


--------------------
Go to the top of the page
+Quote Post
login90
post 2.12.2020, 18:31:52
Post #16





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


mam dwa pola i jak zrobić aby str_replace np. ktoś doda kilka spacji i chce aby te kilka spacji zamieniło się w jeden myślink, a nie kilka
$name2 = str_replace(" ", "-",($_POST['name2']));


Ten post edytował login90 2.12.2020, 19:17:42
Go to the top of the page
+Quote Post
dublinka
post 4.12.2020, 09:15:47
Post #17





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


  1. $output = preg_replace('!\s+!', '-', $input);


--------------------
Go to the top of the page
+Quote Post
login90
post 7.12.2020, 16:20:56
Post #18





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


hej odnośnie tego rozwiązania z czasem. No chyba robie błąd. Jak zrobić aby pobierało ostatnie dodanie z określnego ip . Robiłem order by id desc limit 1 i nie dizała
  1. $ip =$_SERVER["REMOTE_ADDR"];
  2.  
  3. $query = "Select *from image where ip ='$ip' and date < DATE_ADD(NOW() ,INTERVAL 1 HOUR) limit 1";
  4. $result = mysqli_query($db, $query);
  5. $isvalid = mysqli_num_rows($result);
  6. if($isvalid)
  7. {
  8. $button = '<input type="submit" value="add" name="upload" >';
  9. }else{
  10. $button = ' <input type="submit" value="add" name="upload" disabled="disabled">';
  11.  
  12. }
  13.  
  14. potem
  15. if(isset($button)) {
  16. echo $button;
  17. }
Go to the top of the page
+Quote Post
nospor
post 7.12.2020, 16:47:15
Post #19





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6296
Dołączył: 27.12.2004




nie
Select *from
a
Select * from

wypadaloby wyswietlac bledy jakie zwraca baza danych


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
login90
post 7.12.2020, 17:09:59
Post #20





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 8.02.2016

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


Poprawiłem i dalej nie działa. Zrobiłem mysqli_error ale nie wyświetla żadnych błędów. Błąd jest w zapytaniu. Czy ktoś wie jak powinno to wyglądać dzięki
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Wersja Lo-Fi Aktualny czas: 26.04.2024 - 19:52