login90
14.11.2020, 09:44:33
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
dublinka
14.11.2020, 10:39:36
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
Tomplus
14.11.2020, 10:40:49
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ć)

po wrzuceniu sprawdzić kiedy był ostatni wrzut i wywalić komunikat.
login90
14.11.2020, 14:25:32
Próbowałem wstawić str_replace przy dodawaniu opisu do obrazka
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
viking
14.11.2020, 14:36:23
Zrób sobie w bazie 2 pola. Opis przekształcony raz podczas tworzenia który będzie tytułem i właściwy drugi.
dublinka
14.11.2020, 15:11:02
Cytat(login90 @ 14.11.2020, 13:25:32 )

Próbowałem wstawić str_replace przy dodawaniu opisu do obrazka
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
login90
14.11.2020, 21:36:46
Tworze możliwość dodawania po określonym czasie i mam taki przykładowy kod
$query = "Select *from image";
$results = mysqli_query($db, $query);
while($row = mysqli_fetch_assoc($results)) {
if($row['date'] < i tu nie wiem)
{
}else{
}
}if(mysqli_num_rows($results) == '0'){
}
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
dublinka
14.11.2020, 22:09:52
https://dev.mysql.com/doc/refman/8.0/en/dat...-functions.htmlA 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) ,
gino
14.11.2020, 22:16:22
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
Tomplus
15.11.2020, 02:55:00
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:
$query = "SELECT 1 FROM image WHERE pole_z_data < NOW() AND user_id = :userId LIMIT 0,1";
$results = mysqli_query($db, $query);
if(mysqli_num_rows($results) > 0) {
echo "Nie możesz dodawać, między dodawanym obrazom musi minąć godzina"; } else {
echo "Dodaj obraz uzupełniając pola formularza"; }
login90
17.11.2020, 15:03:29
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
gino
17.11.2020, 20:15:09
spróbuj z całym adresem:
Kod
RewriteEngine on
ErrorDocument 404 http://localhost/my_name_site/error.php
u mnie tak działało.
login90
1.12.2020, 23:09:46
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
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.
viking
2.12.2020, 07:51:52
Dokładnie to ci napisałem w poście nr 5.
login90
2.12.2020, 18:31:52
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']));
dublinka
4.12.2020, 09:15:47
$output = preg_replace('!\s+!', '-', $input);
login90
7.12.2020, 16:20:56
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
$ip =$_SERVER["REMOTE_ADDR"];
$query = "Select *from image where ip ='$ip' and date < DATE_ADD(NOW() ,INTERVAL 1 HOUR) limit 1";
$result = mysqli_query($db, $query);
$isvalid = mysqli_num_rows($result);
if($isvalid)
{
$button = '<input type="submit" value="add" name="upload" >';
}else{
$button = ' <input type="submit" value="add" name="upload" disabled="disabled">';
}
potem
}
nospor
7.12.2020, 16:47:15
nie
Select *from
a
Select * from
wypadaloby wyswietlac bledy jakie zwraca baza danych
login90
7.12.2020, 17:09:59
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
Tomplus
7.12.2020, 17:29:20
Działają ci logi? Jeżeli błędy nie wyświetlają się na stronie, to powinny być zapisane w logach dla strony, podejrzyj i pokaż.
login90
7.12.2020, 17:38:01
Hej wyświtlają mi się błędy ale nie odnośnie samego zapytania.
Tomplus
8.12.2020, 17:02:27
ale jeżeli jest błąd, to sprawdź logi bazy danych,
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.