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
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
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
Post #3





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
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ć)
(IMG:style_emoticons/default/cool.gif) po wrzuceniu sprawdzić kiedy był ostatni wrzut i wywalić komunikat.

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





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
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
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
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
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
Post #9





Grupa: Zarejestrowani
Postów: 324
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
Post #10





Grupa: Zarejestrowani
Postów: 1 879
Pomógł: 230
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
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
Post #12





Grupa: Zarejestrowani
Postów: 324
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
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
Post #14





Grupa: Zarejestrowani
Postów: 324
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
Post #15





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
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
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
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
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
Post #19





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie
Select *from
a
Select * from

wypadaloby wyswietlac bledy jakie zwraca baza danych
Go to the top of the page
+Quote Post
login90
post
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 10:44