7sekund
6.03.2022, 19:08:17
Witam,
chciałbym zapytać co zrobić aby poniższy skrypt wypisywał na ekran tyle linii, jaka jest wartość zmiennej $wierszy.
W pierwszej linii znajdować się powinna jedna *, każdy kolejny wiersz, to o jedną * więcej.
W efekcie działania skryptu wiersze powinny wyglądać następująco:
*
**
***
****
*****
Tyle udało mi się napisać:
<?php
$wierszy = 5;
for($i=0; $i<5; $i++){
for($j=0; $j<5; $j++){
}
}
?>
Czy mógłbym prosić o wskazówkę, jak ten skrypt poprawić , aby działał tak, jak opisałem wyżej?
nospor
6.03.2022, 19:17:08
Sobie czasami tak zycie utrudniacie na wlasne zyczenie....
$wierszy = 5;
for($i=1; $i<=$wierszy; $i++){
}
Chyba ze to nie na ekran a do pliku to wtedy nie '<br />' a "\n"
7sekund
6.03.2022, 19:26:19
Dzięki tyle, że ja nie znam tej funkcji str_repeat() , bo ćwiczę dopiero najprostsze podstawy i jestem na etapie pętli , ale na pewno przyda mi się to w dalszym etapie nauki.
Mam nadzieję, że będą te dalsze etapy, bo jak na razie to jest tak, że nad jednym prostym skryptem siedzę 2 godziny i nic nie posuwam się do przodu. Obawiam się tylko tego, żebym się nie zniechęcił do programowania w PHP:-(
Czy jest jakiś sposób, żeby samemu umieć dochodzić do rozwiązania problemu, przynajmniej w tak prostych skryptach?
nospor
7.03.2022, 09:56:46
Cytat
Obawiam się tylko tego, żebym się nie zniechęcił do programowania w PHP
Nie ma znaczenia czy to php, java czy inny jezyk. Petle to petle

$wierszy = 5;
for($i=1; $i<=$wierszy; $i++){
for($j=1; $j<=$i; $j++){ // ta petla bedzie isc w gore do wartosci z $i i odpowiada za liczbe gwiazdek w wierszu
}
echo '<br />'; //nowa linia }
7sekund
11.03.2022, 12:23:00
Super , to działa teraz !
Bardzo Ci dziękuję, także za te komentarze w kodzie ! :-) :-)
Witam ponownie.
Mam w ramach ćwiczenia taki oto kod:
<?php
define("KOSZULKA", 14
.99
); // cena koszulki jako stała define("SPODNIE", 45
.99
); //cena spodni define("BUTY", 30
.00
); // cena butów define("CZAPKA", 9
.63
); // cena czapki define("P_VAT", 0
.23
); // wysokość podatku vat
//przypisanie zmiennych formularza
$ile_koszulki = $_POST['koszulki'];
$ile_spodnie = $_POST['spodnie'];
$ile_buty = $_POST['buty'];
$ile_czapki = $_POST['czapki'];
$ile_zaplata = $_POST['zaplata'];
//wartość netto zamówionych przedmiotów
$kwota_koszulki_netto = $ile_koszulki * KOSZULKA;
$kwota_spodnie_netto = $ile_spodnie * SPODNIE;
$kwota_buty_netto = $ile_buty * BUTY;
$kwota_czapki_netto = $ile_czapki * CZAPKA;
//cena netto całego zamówienia
$kwota_zamowienia_netto = $kwota_koszulki_netto + $kwota_spodnie_netto + $kwota_buty_netto + $kwota_czapki_netto;
//wartości brutto
$kwota_koszulki_brutto = $kwota_koszulki_netto + $kwota_koszulki_netto * P_VAT;
$kwota_spodnie_brutto = $kwota_spodnie_netto + $kwota_spodnie_netto * P_VAT;
$kwota_buty_brutto = $kwota_buty_netto + $kwota_buty_netto * P_VAT;
$kwota_czapki_brutto = $kwota_czapki_netto + $kwota_czapki_netto * P_VAT;
$kwota_zaplata_brutto = $ile_zaplata;
//cena zamówienia brutto
$kwota_zamowienia_brutto = $kwota_koszulki_brutto + $kwota_spodnie_brutto + $kwota_buty_brutto + $kwota_czapki_brutto
//wydawana reszta od zapłaconej kwoty
$reszta = $kwota_zaplata_brutto - $kwota_zamowienia_brutto;
?>
Czy mógłby ktoś podpowiedzieć czemu wychodzi błąd o tym, że zmienna $reszta jest niezdefiniowana ?
trueblue
11.03.2022, 12:24:35
Bo zmienne $_POST są niezdefiniowane?
7sekund
11.03.2022, 12:53:09
Ok już wiem, głupi błąd, polegający na tym, że po poprzedniej zmiennej nie było tam średnika....
Nie wiem dlaczego serwer wypisuje wtedy błąd o niezdefiniowanej zmiennej.
Dalej jest taki kod w pliku html:
<form action="zamowienie.php" method="post"> Liczba zamawianych koszulek:
<input type="text" name="koszulki" size=3 maxsize=3 /><br /> Liczba zamawianych spodni:
<input type="text" name="spodnie" size=3 maxsize=3 /><br /> Liczba zamawianych par butów:
<input type="text" name="buty" size=3 maxsize=3 /><br /> Liczba zamawianych czapek:
<input type="text" name="czapki" size=3 maxsize=3 /><br /> <input type="text" name="zaplata" size=3 maxsize=3 value=""/><br /> <input type="submit" value="Złóż zamówienie" />
Mam takie pytanie: jak przekazać wartość zapłaty za produkty, wykorzystując funkcję echo w atrybucie value pola typu hidden ?
Jak zrobię input type="hidden" , to wtedy tej wartości zapłaty nie ma gdzie wpisać , bo pole "Zapłata" nie będzie widoczne na stronie....
nospor
11.03.2022, 12:59:57
No jesli to jest doslownie plik .html to nic nie zrobisz. Co innego gdyby to byl plik php generujacy html
7sekund
11.03.2022, 13:15:07
Ok, dzięki za podpowiedź.
Chodzi o wykorzystanie wtedy funkcji $_SERVER['PHP_SELF']; w atrybucie action formularza?
gino
11.03.2022, 14:21:18
Powinien wypisać błąd typu "Unexpected variable...".
Nie chodzi o wykorzystanie $_SERVER['PHP_SELF'], tylko o wygenerowanie całego pliku przez php, czyli zamiast rozszerzenia html musi być php.
viking
11.03.2022, 14:28:02
Stosuj też kod
$ile_koszulki = $_POST['koszulki'] ?? 0;
Skoro to liczba to czemu nie
https://developer.mozilla.org/en-US/docs/We...nt/input/number ?
7sekund
12.03.2022, 16:31:04
gino - tak wtedy będzie to plik *.php a nie *.html .
viking - dzięki za podpowiedź odnośnie type="number" zamiast "text".
Cześć,
mam teraz tabliczkę mnożenia do zrobienia w PHP i napisałem taki skrypt:
<?php
for ($i=1; $i<=25; $i++) //wypisywanie w kolumnach - oś Y
{
for ($j=1; $j<=25; $j++) //wypisywanie w wierszach - oś X
{
echo '<td align="right">'; //wyrównanie do prawej w komórkach if ($i>0 && $j>0)
{
echo '<span style="color: blue">' . $i*$j . '</span>'; //niebieskie liczby parzyste }
........
{
echo '<span style="color: red">' . $i*$j . '</span>'; //czerwone liczby nieparzyste }
}
}
?>
i nie wiem jaki warunek wpisać w te kropeczki, żeby uzyskać czerwone liczby nieparzyste.
Czy może ktoś podpowiedzieć? ;-)
trueblue
12.03.2022, 21:21:03
7sekund
12.03.2022, 21:30:18
Wiem jakie są zasady matematyczne, niemniej dzięki za podpowiedź aby szukać w tym kierunku ! To bardzo pomogło i efekt osiągnięty.
Teraz skrypt działa, a kod wygląda tak:
<?php
for ($i=1; $i<=25; $i++) //wypisywanie w kolumnach - oś Y
{
for ($j=1; $j<=25; $j++) //wypisywanie w wierszach - oś X
{
echo '<td align="right">'; //wyrównanie do prawej w komórkach if ($i>0 && $j>0)
{
if (($i%2 == 0) || ($j%2 == 0))
{
echo '<span style="color: blue">' . $i*$j . '</span>'; //niebieskie liczby parzyste }
else
{
echo '<span style="color: red">' . $i*$j . '</span>'; //czerwone liczby nieparzyste }
}
}
}
?>
viking
13.03.2022, 07:23:27
Staraj się zawsze tak pisać kod aby modyfikować jak najmniejszy zakres danych powiązany z zadaniem. Co gdybyś miał tam inne, bardziej zaawansowane warunki dla span?
if ($i>0 && $j>0)
{
$clEvenOdd = (($i%2 == 0) || ($j%2 == 0)) ? 'even' : 'odd';
echo '<span class="'.$clEvenOdd.'">' . $i*$j . '</span>'; }
Generujesz pełno zbędnego kodu dla align="right"? Dlaczego nie jedna definicja w css?
Dodatkowo echo "</table>"; Nie potrzebujesz parsować stringu zatem echo '</table>';
7sekund
14.03.2022, 12:56:39
Cześć,
to się zgadza i kod, który napisałeś pewnie działa prawidłowo, ale ja jeszcze takich funkcji nie znam , bo ćwiczę podstawy, a tutaj chodziło po prostu o użycie pętli , więc tak zrobiłem.
Chciałbym zapytać o taki skrypt:
<?php
$ile = 1;
for ($i=5; $i>=$ile; $i--)
{
for ($j=5; $j>=$i; $j--) //idzie w dół do wartości $i i wyswietla $j gwiazdek
{
}
}
?>
Nie umiem tu zrobić tak, aby te pętle spowodowały efekt:
*****
****
***
**
*
Siedzę znowu z 1,5 godziny nad tym i nie wiem gdzie robię błąd! Czy ktoś mógłby podpowiedzieć jak to poprawić, żeby ten efekt był taki, jak wyżej z tymi gwiazdkami?
nospor
14.03.2022, 13:04:16
Programowanie to tez myslenie, a nie ze ty odwracasz moj skrypt w calosci i zadowolony.
Skoro nie rozumiesz petli to usiadz przy nich dluzej
Przeciez o to
for ($j=5; $j>=$i; $j--) jest totalnie zle.
Ta druga petla ma nadal byc jak byly czyli
for ($j=1; $j<=$i; $j++)
przeciez $i zaczyna sie od pieciu i spada w dol a ty chcesz robic tylko gwiazdek ile ma $i a nie na odwrot
7sekund
14.03.2022, 13:14:12
No właśnie siedzę przy tych pętlach już trzy dni z rzędu i umiem tylko z jedną zmienną zrobić, natomiast nie rozumiem jak działa skrypt, który zawiera dwie zmienne, jak tutaj $i i $j :-(
Szukałem tego w necie ale nic nie ma na ten temat, a przecież są takie możliwości , żeby dwie zmienne były w zagnieżdżonych pętlach lub w jednej.
Może źle szukam, nie wiem...:-(
nospor
14.03.2022, 13:16:59
no przeciez ci podalem poprawny kod post wczesniej
7sekund
14.03.2022, 13:20:45
Tak, teraz sprawdziłem, dzięki - działa, ale chciałbym zrozumieć to działanie drugiej pętli.
Nie wiem gdzie szukać w necie jakichś omówień takich przykładów.. szukałem ale bez skutku :-(
nospor
14.03.2022, 14:23:36
NIe bardzo wiem co tu omawiac.
Druga petla w tym przypadku, jak zarowno w przypadku z twoich pierwszych postow, ma za zadanie wygenerowac tyle gwiazdek, ile aktualnie posiada pierwsza petla
Za bardzo przejmujsze sie faktem, ze jest to petla w petli. To nie ma najmniejszego znaczenia. Rownie dobrze zmienna $i moze pochodzic z czegos innego a twoim zadaniem jest tyle razy wykonac FOR jaka wartosc ma $i i juz.
7sekund
14.03.2022, 14:33:36
Nie bardzo rozumiem, a do tego wiem, że można w jeden pętli for użyć dwóch zmiennych i wtedy oddziela się je raz przecinkiem a raz średnikiem. Jak i co jest po kolei i dlaczego to już nigdzie nie jest napisane.
nospor
14.03.2022, 14:41:52
Ja tam nie wiem co rozumiesz przez nigdzie, ale pierwsza rzecz gdzie powininies zagladac to oficjalny manual, i nagle NIGDZIE znika
https://www.php.net/manual/en/control-structures.for.php
7sekund
14.03.2022, 14:56:34
Dzięki ale manual wiele mi nie wyjaśnił...
np. tego nie umiem zrozumieć:
for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++);
bo nie wiem co robi $i a co $j w takim przypadku, a dalsze przykłady , to używają takich funkcji php , do których jeszcze nie doszedłem.
Poza tym są pętle, które mają nie 6 przypadków (jak tutaj) , a np. 4 , bo któreś dwa są pomijane. Dla kogoś kto to umie, to może się wydawać śmieszne, co piszę, ale skąd ja mam wziąć takie informacje ? Mam dwie książki i kursy php z netu ale to guzik daje. Chyba to musi mi ktoś na żywo wyjaśnić....
nospor
14.03.2022, 15:01:55
To zamiast 1.5h spedz 3 wieczory na petle. Tworz rozne kody, patrz co zwracaja, patrz jak lataja i ogarniaj. Biadoleniem nic sie nie nauczysz

A zmienne to zmienne. RObia to co ty chcesz
gino
14.03.2022, 16:18:44
Nie rozumiesz, bo brakuje podstaw, @nospor poddał Ci link do do control structures, to najbardziej podstawowe funkcje języka php (innych zresztą też) służące do przepływu sterowania programem w taki sposób, aby wszystko co zakodowałeś wykonało się zgodnie z algorytmem.
I nie, ta pętla nie ma 6 przypadków(?), jej składnia to 3 wyrażenia rozdzielone średnikami (popatrz, gdzie w Twoim przykładzie są te średniki, wtedy zrozumiesz):
- inicjacja zmiennej,
- wyrażenie testujące,
- zmiana wartości zmiennej.
Aby testowanie zachodziło, trzeba zmienną incremetować. Zapis $i++ oznacza post-incrementację, czyli zwiększenie zmiennej o 1, ale najpierw wartość tej zmiennej zostanie zwrócona.
Incrementing/Decrementing OperatorsJest też zapis $j+=$i;
Oznacza dokładnie to samo co:
$j=$j+$i;
czyli za każdym przejściem pętli zmienna $j zwiększa się o swoją własną wartość plus wartość zmiennej $i;
Print to print. Ot cała filozofia. Normalna pętla FOR i normalna jej składnia. Manual, manual, manual, że zacytuje klasyka.
7sekund
24.03.2022, 17:02:19
>>> gino:Wydawało mi się że te trzy wyrażenia w instrukcji for jakoś rozumiem ale teraz zacząłem to ćwiczyć dokładnej i jak na razie, to zrobiłem większą część zadań ze strony:
https://kamakaczmarek.net/php-petle-oraz-sk...a-alternatywna/ . Na tej stronie akurat są te zadania do wykonania przystępne, bo np. jeszcze nie doszedłem do funkcji i tablic ale wszystko przede mną.
Dzięki za wskazówki wyżej. :-)
>>> nospor:Dzięki również. Tak też zamierzam zrobić, bo dużo ćwiczeń to jedyna rada , a gdybym miał w czymś problem , to pozwolę sobie zwrócić się do was po wskazówki.:-)
Cześć,
mam taką tablicę w pętli for:
$start = strtotime("00:00, 24 December 2021"); $startdate = date("Y m d l", $start); // $enddate = date("Y m d l", $end);
for ($start = strtotime("00:00, 24 December 2021"); $start < $end; $start = strtotime("+ 1 Year", $start)) {
array_push($wigilie, $s); //dopisuje datę kolejnej wigilii do tablicy }
i chciałbym podobny efekt uzyskać za pomocą pętli foreach...
Mam taki kod napisany:
$start = strtotime("00:00, 24 December 2021"); $startdate = date("Y m d l", $start); $wigilie = [
"0" => "$startdate" //tablica: [0] => 2021 24 12 Friday
];
foreach ($wigilie as $i => $startdate)
{
$i = 1;
$y++;
}
Ten kod wypisuje mi tylko taką tablice:
Array ( [0] => 2021 12 24 Friday [1] => 2022 12 24 Saturday )
a powinien wypisywać daty 10 kolejnych wigilii w jednej tablicy, jak skrypt z pętlą for wyżej.
Czy może ktoś mi podpowiedzieć jak w prosty sposób można dokończyć ten skrypt ?
Nie umiem zrobić w pętli skoku co 1 rok, żeby wypisał z 10 kolejnych lat.
nospor
24.03.2022, 17:04:57
No nie mozesz tamtej petli FOR zamienic na FOREACH. No kazda sluzy do czego innego. FOREACH sluzy tylko do iterowania po tablicy. FOR jest bardziej uniwersalne.
podsumowujac: nie da sie tu uzyc FOREACH. Co ci przeszkadza FOR?
7sekund
1.04.2022, 16:34:53
Nie, no dzięki za informację, bo myślałem, ze można tez przez foreach to rozwiązać i siedziałem nad tym dzisiaj kilka godzin z efektem jak powyżej. Teraz, skoro napisałeś, że się tak nie da, to mogę się skupić na następnych zadaniach :-)
Cześć,
mam teraz pewien problem i znowu nie wiem gdzie tkwi błąd...
Kod jest taki:
function domena($email)
{
$spr = '/^[a-zA-Z0-9.\-_]+@[a-zA-Z0-9\-.]+\.[a-zA-Z]{2,4}$/';
$spr_domene = implode ('.', $email); $pl = '/^[pl]$/';
{
return $email;
}
else
{
return false;
}
}
$email = $_POST['email'];
$imie = $_POST['imie'];
$tresc = $_POST['tresc'];
$blad_danych = false;
if (!$email)
{
echo 'Podany adres nie należy do polskiej domeny'; }
else
{
$blad_danych = true;
}
if ($blad_danych)
{
echo '<br /> Wystąpił jeden lub więcej błędów podczas przetwarzania danych.'; }
else
{
echo '<br />' . "Imię klienta: $imie" . '<br />'; echo "Adres e-mail: $email" . '<br />'; echo "Podany email należy do polskiej domeny" . '<br />'; echo "Treść wiadomości: $tresc" . '<br />'; }
I ten kod zawsze zwraca mi komunikat: Wystąpił jeden lub więcej błędów podczas przetwarzania danych. jaka by nie była domena adresu email.
Jak by to było można zrobić , żeby ten kod wyrzucał komunikat o tym, czy dany adres należy do polskiej domeny czy nie?
nospor
1.04.2022, 16:39:02
yyy....
$email = $_POST['email'];
if (!$email)
{
echo 'Podany adres nie należy do polskiej domeny'; }
else
{
$blad_danych = true;
}
Naprawde nie widzisz bledu tutaj? Przeciez ty nie sprawdzasz zadnej domeny, tylko czy email jest puste czy nie puste
7sekund
1.04.2022, 16:41:50
Tak, ale w książce mam za zadanie właśnie sprawdzić , czy należy do polskiej domeny , czy nie...
Mam więcej tego kodu ale wkleiłem tylko to, co potrzebne do funkcji $email.
nospor
1.04.2022, 16:44:07
No to jesli funkcja domena() sluzy do sprawdzenia co chcesz, to ja laskawie wywolaj
$email = domena($_POST['email']);
Aczkowliek nie sprawdzwalem czy ta funkcja robi to co powinna
7sekund
1.04.2022, 16:47:38
Sorry, wcześniej coś pomieszałem...
Ten kod co napisałeś to niestety nie działa...
nospor
1.04.2022, 16:52:44
Bo pewnie funkcja domena() jest do kitu
7sekund
1.04.2022, 16:55:13
Całkiem możliwe ale nie wiem czy ta zmienna $pl jest dobrze przypisana...
Jest $email przypisany oraz funkcja function domena($email) i w tej funkcji coś z tą zmienną $pl jest nie tak..
nospor
1.04.2022, 16:58:54
Generalnie, jak zwykle, zes przekombinowal
Jesli chcesz sprawdzac tylko .pl to
function isPL($email) {
return substr($email, -3) === '.pl'; }
$email = $_POST['email'];
if (isPL($email))
{
}
else
{
}
I juz
7sekund
7.04.2022, 20:10:18
nospor bardzo Ci dziękuję:-) Pomogło, bo działa!
Widzę , że tu jest nowa funkcja substr(), więc muszę ją jeszcze przestudiować .

Cześć, mam teraz pewien problem z funkcją mail() .
Wywala mi taki komunikat:
Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. m20-20020a056512115400b0044aa2184999sm2238421lfg.142 - gsmtp in C:\xampp\htdocs\rozdzial5\mail.php on line 17 .
Wydaje mi się, że dobrze skonfigurowałem php.ini oraz sendmail.ini - wpisałem swój adres oraz adres smtp dla gmail'a i hasło do tego konta, ale niestety próba wysłania maila kończy się takim komunikatem, jak wyżej.
Czy mozna coś temu zaradzić, bo chciałbym dalej się uczyć , ale bez tego to nie będę wiedział czy dobrze robię.
nospor
8.04.2022, 08:30:41
Z gmail to nie taka prosta pilka
https://netcorecloud.com/tutorials/send-an-...rver-using-php/A najlepiej sugerowalbym bys uzyl klasy PHPMailer
7sekund
8.04.2022, 16:35:51
Cześć nospor,
ten PHPmailer to jak się instaluje? Czy to jest skomplikowane ? Trzeba to jeszcze potem jakoś skonfigurować?
Może lepiej byłoby stworzyć sobie jakieś konto na innym , polskim serwerze, aby takie wiadomości można było wysyłać bez problemu z poziomu localhost? Czy są jakieś serwery polskie, które to umożliwiają?
Mam jeszcze taki problem, że dzisiaj podczas ćwiczeń nagle zniknęły mi wszystkie linki do plików z całego jednego folderu... Co zrobić aby znowu się ta lista plików pojawiła, zamiast pustej strony? Nie rozumiem co się stało...
Pliki oczywiści są w danym folderze na serwerze..
nospor
8.04.2022, 18:40:25
No ale google nie boli
https://github.com/PHPMailer/PHPMailertam masz wszystko, jak podlaczyc, jak skonigurowac
Cytat
Może lepiej byłoby stworzyć sobie jakieś konto na innym , polskim serwerze, aby takie wiadomości można było wysyłać bez problemu z poziomu localhost?
korzystanie z natywnego mail() raczej malo kto stosuje. Glownie korzysta sie z klas ala PHPMailer
Cytat
Mam jeszcze taki problem, że dzisiaj podczas ćwiczeń nagle zniknęły mi wszystkie linki do plików z całego jednego folderu
Jakie znowu linki? Wez pod uwage ze my nie siedzimy ci w glowie, nie mamy twojego kompa przed nosem i w myslach nie czytamy
7sekund
8.04.2022, 21:46:35
Jeśli chodzi o te linki , to miałem na myśli, że jak się otwiera folder na localhost, to wtedy widac listę plików, które da się kliknąć jak łącze. Natomiast dzisiaj podczas ćwiczeń była ta lista z całego folderu na serwerze XAMPP, a potem w którymś momencie kliknąłem odświeżanie strony i wszystko zniknęło, a w miejsce tych plików pojawiła się pusta strona. Natomiast sprawdziłem, że na serwerze fizycznie te pliki są więc nie wiemw czym jest problem....
To wszystko napisałem wyżej, tylko w skrócie.
Mam teraz problem , jak przywrócić tę listę plików z powrotem ..?
Ściągnąłem ten PHPmiler i composer, proces instalacji przebiegł ok , bo nic nie wyrzuciło, jednak nie wiem co dalej.. Jak za pomocą tego wysyłać emaile?
Przeczytałem kilkanaście stron ale niestety nigdzie nie jest wyjaśnione od podstaw, jak to robić...
nospor
8.04.2022, 22:19:09
przeciez podalem ci linka do PHPMAiler, jest tam przyklad SIMPLE EXAMPLE ktory pokazuje jak wysylac maila. No co ja mam wiecej powiedziec?
Co do linkow to nadal nie kumam. Nie wiem, ja nie otwieram folderow w xamp, nie wiem o jakie linki ci chodzi. Moze ktos inny wyczai
7sekund
8.04.2022, 22:40:12
Próbuję wysłać email za pomocą PHPmailer ale niestety chyba gmail blokuje, bo po każdej próbie przychodzi na to konto pocztowe krytyczny alert bezpieczeństwa oraz błąd:
Nie udało sie wysłać wiadomości...Mailer Error: SMTP connect() failed.
https://github.com/PHPMailer/PHPMailer/wiki/Troubleshootinghttps://images90.fotosik.pl/583/20885bf7242c6358med.jpgTu są pliki serwera pod adresem wyżej. Jednak w innym folderze, w którym teraz pracuję nie pojawia się nic, tylko wyświetla pustą stronę.. W czym tutaj może być problem?
Salvation
9.04.2022, 07:42:04
Pokaż kod jaki masz.
Plus zerknij tutaj:
https://webinsider.pl/phpmailer-php-mandril...pmailer-i-gmail - może się coś rozjaśni.
nospor
9.04.2022, 14:32:41
Cytat
Tu są pliki serwera pod adresem wyżej. Jednak w innym folderze, w którym teraz pracuję nie pojawia się nic, tylko wyświetla pustą stronę.. W czym tutaj może być problem?
Czyli to nie sa zadne linki a poprostu listing katalogu.
A jesli ci nie listuje teraz to pewnie wylaczyles tego opcje, albo bezposrdnio w apacha albo popprze .htaccess.
Po co ci to w ogole?
7sekund
9.04.2022, 22:16:26
Salvation -->> dzięki, teraz wszystko juz działa i maile wychodzą i dochodzą takie, jak powinny:-)
nospor -->> przecież muszę mieć tę listę, żeby sobie klikać w plik, nad którym pracuję na serwerze, bo potem on się otwiera też tam i wykonuje zadanie. Jak inaczej to można zrobić, nie wybierając pliku z listy?
Gdzieś ona znikła ale tylko dla jednego folderu, bo inne się wyświetlają prawidłowo...
Dodam, że stworzenie nowego folderu o innej nazwie i przekopiowanie tych plików do niego daje ten sam efekt...
trueblue
10.04.2022, 07:39:46
A nie ma czasem w katalogu pliku index.html lub index.php?
Pierwsze słyszę o takiej metodzie uruchamiania skryptów. Przecież nazwę możesz wpisać w pasek adresu przeglądarki.
A jeśli bardzo potrzebujesz, to napisz skrypt listujący pliki w katalogu i wyświetlający je jako linki.
dublinka
10.04.2022, 08:20:29
Cytat(7sekund @ 9.04.2022, 22:16:26 )

przecież muszę mieć tę listę, żeby sobie klikać w plik, nad którym pracuję na serwerze, bo potem on się otwiera też tam i wykonuje zadanie. Jak inaczej to można zrobić, nie wybierając pliku z listy?
Jakies dziwaczne sposoby. Kazdy robi to tak ze wywoluje localhost pozniej ew. jakis folder i na koncu nazwe pliku. Jak juz wiesz pliki trzymasz w katalogu "htdocs". W skrocie mozna powiedziec ze to Twoj localhost więc:
localhost/katalog/nazwa_pliku.php
Tak to się robi a nie jakas lista plików 🤔
7sekund
12.04.2022, 21:21:02
dublinka -->> w poście wyżej tego z 08.04 o godz. 22.40 , pokazałem zdjęcie jak to u mnie wygląda i myślę , że normalnie się wywołuje właśnie pliki z tego katalogu z htdocs poprzez przeglądarkę (localhost). Myślę, że o tym samym tu piszemy.
Kiedy chciałbym otworzyć bezpośrednio przez menadżera plików, to wtedy pliki *.php otwierają się tylko do edycji .
Mniejsza o to, problem z wysyłaniem poczty był wcześniej rozwiązany przez Salvation, natomiast ta lista plików na localhost wróciła metodą prób i błędów. Okazało się, że pustą stroną był plik o nazwie index.html , który miał 0 B. Po jego usunięciu wszystko się wyświetla normalnie.
Teraz dotarłem do operacji na plikach no i mam problem, w jaki sposób przekopiować grupę plików , np. o rozszerzeniu *.php do innego, danego folderu ?
Jeden plik to da się załatwić poprzez copy(), ale grupy plików nie umiem :-(
Mam taki kod:
$sprawdz = '/^[a-zA-Z0-9_-]+[\.]+[php]{3}$/';
$plik = fopen("../xxx/*.php", "r+");
{
copy('../xxx/*.php', '../rozdzial5/*.php'); echo '<br /> Poprawnie skopiowano plik: '.$plik.'<br />'; }
else
{
echo '<br /> Nieudane kopiowanie pliku! <br />'; }
no i problemem tu jest chyba ten koniec ścieżki oznaczony jako *.php , bo wyrzuca błąd:
Warning: fopen(../xxx/*.php): Failed to open stream: No such file or directory in C:\xampp\htdocs\rozdzial5\funkcja3.php on line 10
Czy ktoś mógłby coś podpowiedzieć, jak sobie z tym poradzić?
nospor
13.04.2022, 05:46:27
NO ale po co ci fopen? A potem jeszcze robisz preg_match na wyniku fopen co juz w ogole jest bez sensu. No mysl troszke...
Niemal na kazde pytanie odpowiedz padla juz w google, wiec zajrzyj tam od czasu do czasu tez, np tu
https://stackoverflow.com/questions/2578008...ing-php-scripts
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.