Błąd z połączeniem bazy MySQL

Błąd z połączeniem bazy MySQL
A8
  • Rejestracja:4 miesiące
  • Ostatnio:4 miesiące
  • Postów:8
1

Witam.

Jestem tu nowy, zainteresowało mnie programowanie stron www. Jestem samoukiem w kodowaniu HTML, CSS, JavaScript i php. Próbuje się pobawić z php i MySql ze stworzeniem sobie prostej bazy danych ale tutaj napotykam problem ze zwykłym połączeniem się z bazą MySql z formularza Html i php.

Tworze plik w html formularz i dodatkowo w php sprawdzenie połączenia i za każdym razem albo nic nie ma, albo pokazuje mi cały skrypt php na stronie. Mam włączony Xamp i załączony Apache i MySql, Baza danych też jest utworzona.

Co robię źle?

Kod HTML

Kopiuj
<!DOCTYPE html>
<html lang="pl">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Test połączenia z bazą danych</title>
</head>
<body>
    <h1>Sprawdź połączenie z bazą danych</h1>
    <form action="connection.php" method="post">
        <button type="submit">Testuj połączenie</button>
    </form>
</body>
</html>

Kod PHP (connetion.php)

Kopiuj
<?php
// Parametry połączenia z bazą danych
$host = 'localhost'; // Adres serwera
$username = 'root';  // Domyślny użytkownik MySQL
$password = "";      // Hasło użytkownika MySQL (domyślnie puste)
$dbname = 'test_db'; // Nazwa bazy danych

// Próba połączenia z bazą danych
$conn = new mysqli($host, $username, $password, $dbname);

// Sprawdzenie, czy połączenie się powiodło
if ($conn->connect_error) {
    die("Nie udało się połączyć z bazą danych: " . $conn->connect_error);
}
echo "Połączenie z bazą danych zakończone sukcesem!";
?>

Proszę o pomoc.

edytowany 6x, ostatnio: Riddle
RodionGork
  • Rejestracja:4 miesiące
  • Ostatnio:3 miesiące
  • Postów:47
0

Adam, cześć!

Jak konkretnie błąd wygladą? co pisze?

dodaj echo $mysqli->connect_errno . "\n"; zaraz po $conn = new mysqli(...).

Ten if powinen sprawdzić errno zamiast error ale nie pamietam czy to koniecznie.


edytowany 2x, ostatnio: RodionGork
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10053
1

Spróbuj skorzystać z PDO. mysqli ma sporo wad i jest przestarzałe, jest też łatwiej zrobić lukę w bezpieczeństwie, np. przez brak prepared statements. Zamiast tego polecam PDO, które też jest wbudowane w PHP 😉

Kopiuj
<?php

$hostname = "localhost";
$database = "test_db";
$username = 'root';
$password = 'pass';

$pdo = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);

$unbufferedResult = $pdo->query("SELECT 'foo' AS name;");
foreach ($unbufferedResult as $row) {
    echo $row['name'] . PHP_EOL;
}
edytowany 2x, ostatnio: Riddle
Zobacz pozostały 1 komentarz
Riddle
Owszem, jest wbudowane, ale jest też przestarzałe i niezalecane, poza tym ma wiele wad, jak np. brak prepared statements. PDO jest zalecane i łatwe w użyciu.
4w0rX4t4X
przestarzałe i niezalecane skąd ta opinia? Poza rozsiewanymi na ten temat mitami nie ma nigdzie takiej informacji. Ani że jest przestarzałe ani, że jest niezalecane. To, że dla niektórych jest "niemodne" to jedynie opinia. Zarówno PDO jak i mysqli w kolejnych wersjach PHP są tak samo wspierane i póki co nic nie wskazuje by miało być inaczej. Owszem zrezygnowano kiedyś z funkcji mysql_* ale wówczas były ku temu techniczne powody.
axelbest
Mysqli jest przestarzałe i niezalecane. Popieram w 100%. Poza tym wiesz... w php można definiować zmienne $x1, $x2...$x100, a mimo to wygodniej uzyc tablicy prawda? Podobnie funkcja eval(), niby tez mozna uzywac bo jest wbudowana, a jednak zaleca sie jej unikac. Tak samo jest tutaj, to ze jest nie znaczy ze powinno sie uzywac w kazdym przypadku. Tutaj przypadek jest taki, ze lepsze bedzie PDO. Lapka w gore dla @Riddle
4w0rX4t4X
@Riddle: @axelbest - przez kogo jest niezalecane - gdzie to jest napisane a być może to trzeba jakoś czuć? Oficjalna specyfikacja nic na ten temat nie mówi do tego mysqli_ jako następca mysql_ jest nowsze od PDO. https://www.php.net/manual/en/book.mysqli.php. Poza tym MySQLi to zwyczajnie inny rodzaj dostępu do bazy a nie "gorszy czy lepszy". Są rzeczy, które łatwiej i bez kombinowania zrobisz w MySQLi a nie zrobisz w PDO i odwrotnie. Różnice to są zauważalne w szczególności przy optymalizacji wydajnościowej.
4w0rX4t4X
Gdyby mysqli miało być "nie zalecane" to w czasach kiedy wyrzucali z PHP mysql_ nie dali by mysqli a jednak dali i to nie bez powodu. Wrappery na wycofane funkcje i tak trzeba było implementować więc wówczas było całkowicie obojętne czy zrobi się to na PDO czy mysqli a jednak dali to, wciąż wspierają i rozwijają.
A8
  • Rejestracja:4 miesiące
  • Ostatnio:4 miesiące
  • Postów:8
0

Kombinowałem to co podaliście i dalej nic nie wychodzi. W chrome po kliknięciu w odnośnik pojawia się biała strona z kodem php.

Destructor
Jeżeli w przeglądarce widzisz kod PHP to znaczy, że masz źle skonfigurowany serwer. Kod powinien zostać zinterpretowany i rezultat powinien być przeglądarce. Co do przyczyn to musiałbyś wkleić pliki konfiguracyjne Apache/Nginx.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Adam85Pń napisał(a):

Kombinowałem to co podaliście i dalej nic nie wychodzi. W chrome po kliknięciu w odnośnik pojawia się biała strona z kodem php.

To najprawdopodobniej baza danych albo się nie uruchomiła, albo nasłuchuje na innym porcie niż domyślny, albo odrzuca połączenie, albo dane dostępowe są niepoprawne, albo ewentualnie Twój skrypt nie może się połączyć z bazą bo albo nie ma dostępu albo jest w innej sieci.

W jaki sposób uruchomiłeś bazę?

A8
  • Rejestracja:4 miesiące
  • Ostatnio:4 miesiące
  • Postów:8
0
Riddle napisał(a):
Adam85Pń napisał(a):

Kombinowałem to co podaliście i dalej nic nie wychodzi. W chrome po kliknięciu w odnośnik pojawia się biała strona z kodem php.

To najprawdopodobniej baza danych albo się nie uruchomiła, albo nasłuchuje na innym porcie niż domyślny, albo odrzuca połączenie, albo dane dostępowe są niepoprawne, albo ewentualnie Twój skrypt nie może się połączyć z bazą bo albo nie ma dostępu albo jest w innej sieci.

W jaki sposób uruchomiłeś bazę?

Uruchomiłem w panelu kontrolnym klikając start na Apache i MySql. W database stworzyłem tabela i nic więcej nie grzebałem. A może sprawdzić na innym serwerze lokalnym? (Jak tak to jaki byś polecił?)

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Adam85Pń napisał(a):

Uruchomiłem w panelu kontrolnym klikając start na Apache i MySql. W database stworzyłem tabela i nic więcej nie grzebałem. A może sprawdzić na innym serwerze lokalnym? (Jak tak to jaki byś polecił?)

Jeśli masz dockera, to lokalną bazę danych można postawić jednym poleceniem:

Kopiuj
docker run -e MYSQL_ROOT_PASSWORD=pass -e MYSQL_DATABASE=test_db -p 3306:3306 mysql:5.6

Ja właśnie w taki sposób uruchamiam lokalnie bazy, a sam serwer uruchamiam poleceniem wbudowanym w PHP: php -S localhost:8080, nie potrzebuję Apache ani LAMP/WAMP żeby zacząć tworzyć aplikację.

Wyjaśnienie komendy:

  • docker run polecenie dockera do uruchomienia kontenera (takiej mini-maszyny wirtualnej) z obrazu mysql
  • -e MYSQL_ROOT_PASSWORD=pass, przekazanie umówionej zmiennej środowiskowej do kontenera - obraz jest nauczony stworzyć użytkownika z hasłem z treści tej zmiennej
  • -e MYSQL_DATABASE to samo, tylko z nazwą bazy
  • -p 3306:3306 polecenie dockera, żeby otworzył port 3306 w taki sposób żebyś ze swojego lokalnego komputera mógł się połączyć z serverem mysql w kontenerze przez ten port.
  • mysql:5.6 nazwa obrazu oraz tag z hub.docker.com z obrazem. Tagi najczęściej oznaczają wersję serwera.
edytowany 3x, ostatnio: Riddle
T0
  • Rejestracja:ponad 3 lata
  • Ostatnio:mniej niż minuta
  • Postów:181
2

Tutaj problem raczej będzie po stronie serwera apache nie interpretuje skryptów php musisz w plikach konfiguracyjnych apacha znaleźć opcje, żeby pliki o rozrzerzeniu php uruchamiał.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10053
1
tomixtomi0001 napisał(a):

Tutaj problem raczej będzie po stronie serwera apache nie interpretuje skryptów php musisz w plikach konfiguracyjnych apacha znaleźć opcje, żeby pliki o rozrzerzeniu php uruchamiał.

Dobry pomysł! 👍 Nie pomyślałem o tym 😄

@Adam85Pń Spróbuj tymczasowo zmienić swój plik na coś takiego:

Kopiuj
<?php
echo "Hello, world!";

// Parametry połączenia z bazą danych
// $host = 'localhost'; // Adres serwera
// $username = 'root';  // Domyślny użytkownik MySQL
// $password = "";      // Hasło użytkownika MySQL (domyślnie puste)
// $dbname = 'test_db'; // Nazwa bazy danych
// 
// Próba połączenia z bazą danych
// $conn = new mysqli($host, $username, $password, $dbname);
// 
// Sprawdzenie, czy połączenie się powiodło
// if ($conn->connect_error) {
//     die("Nie udało się połączyć z bazą danych: " . $conn->connect_error);
// }
// echo "Połączenie z bazą danych zakończone sukcesem!";
?>

I daj znać czy jak odwiedzisz http://localhost/connection.php to czy to widzisz? 🤔

edytowany 1x, ostatnio: Riddle
A8
  • Rejestracja:4 miesiące
  • Ostatnio:4 miesiące
  • Postów:8
0
Riddle napisał(a):
tomixtomi0001 napisał(a):

Tutaj problem raczej będzie po stronie serwera apache nie interpretuje skryptów php musisz w plikach konfiguracyjnych apacha znaleźć opcje, żeby pliki o rozrzerzeniu php uruchamiał.

Dobry pomysł! 👍 Nie pomyślałem o tym 😄

@Adam85Pń Spróbuj tymczasowo zmienić swój plik na coś takiego:

Kopiuj
<?php
echo "Hello, world!";

// Parametry połączenia z bazą danych
// $host = 'localhost'; // Adres serwera
// $username = 'root';  // Domyślny użytkownik MySQL
// $password = "";      // Hasło użytkownika MySQL (domyślnie puste)
// $dbname = 'test_db'; // Nazwa bazy danych
// 
// Próba połączenia z bazą danych
// $conn = new mysqli($host, $username, $password, $dbname);
// 
// Sprawdzenie, czy połączenie się powiodło
// if ($conn->connect_error) {
//     die("Nie udało się połączyć z bazą danych: " . $conn->connect_error);
// }
// echo "Połączenie z bazą danych zakończone sukcesem!";
?>

I daj znać czy jak odwiedzisz http://localhost/connection.php to czy to widzisz? 🤔

Zrobiłem tak. Na stronie wyświetliło się sam napis Hello World.

Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10053
1
Adam85Pń napisał(a):

Zrobiłem tak. Na stronie wyświetliło się sam napis Hello World.

Okay, super! 🥳 Czyli skrypt się włącza, to dobra wiadomość.

Adam85Pń napisał(a):
Riddle napisał(a):

W jaki sposób uruchomiłeś bazę?

Uruchomiłem w panelu kontrolnym klikając start na Apache i MySql. W database stworzyłem tabela i nic więcej nie grzebałem.

Powiedz mi jeszcze, co to za panel kontrolny?

A8
  • Rejestracja:4 miesiące
  • Ostatnio:4 miesiące
  • Postów:8
0
Riddle napisał(a):
Adam85Pń napisał(a):

Zrobiłem tak. Na stronie wyświetliło się sam napis Hello World.

Okay, super! 🥳 Czyli skrypt się włącza, to dobra wiadomość.

Adam85Pń napisał(a):
Riddle napisał(a):

W jaki sposób uruchomiłeś bazę?

Uruchomiłem w panelu kontrolnym klikając start na Apache i MySql. W database stworzyłem tabela i nic więcej nie grzebałem.

Powiedz mi jeszcze, co to za panel kontrolny?

Do włączania usług w xampie, nie wiem jak mam to opisać.

Nie wiem, może jak masz chwile czasu to rzucisz okiem na xampa. Bardziej się ogarniesz niż ja.

edytowany 1x, ostatnio: Adam85Pń
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Adam85Pń napisał(a):

Do włączania usług w xampie, nie wiem jak mam to opisać.

Nie wiem, może jak masz chwile czasu to rzucisz okiem na xampa. Bardziej się ogarniesz niż ja.

A koniecznie chcesz używać XAMPP'a?

A8
  • Rejestracja:4 miesiące
  • Ostatnio:4 miesiące
  • Postów:8
0
Riddle napisał(a):
Adam85Pń napisał(a):

Do włączania usług w xampie, nie wiem jak mam to opisać.

Nie wiem, może jak masz chwile czasu to rzucisz okiem na xampa. Bardziej się ogarniesz niż ja.

A koniecznie chcesz używać XAMPP'a?

No właśnie szukam na necie jakiegoś innego w miarę łatwego programu który ogarnę z moim małym doświadczeniem żeby się pobawić i nabrać wiedzy w programowaniu. Taki żebym mógł stworzyć baze danych i dodawać tam rekordy i takie tam.

Polecisz coś?

edytowany 1x, ostatnio: Adam85Pń
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Laska, z Polski
  • Postów:10053
0
Adam85Pń napisał(a):

No właśnie szukam na necie jakiegoś innego w miarę łatwego programu który ogarnę z moim małym doświadczeniem żeby się pobawić i nabrać wiedzy w programowaniu. Taki żebym mógł stworzyć baze danych i dodawać tam rekordy i takie tam.

Polecisz coś?

Mówiłem już - ja korzytam z dockera, to super technologia do korzystania z wielu różnych programów, szybko i łatwo. Można stawiać wiele różnych baz, nawet na raz, usuwać, wyłączać i włączać je bardzo prosto. No ale wymaga to zaznajomienia się z dockerem - co i tak jest plusem, bo to jest super technologia, warto ją znać. Jak się przekaże flagę -d, to można nawet wyłączyć terminal a baza nadal działa.

Alternatywa to po prostu zainstalować samego MySQL'a lokalnie bez XAMPPA, ale tego raczej bym nie polecał, z uwagi na to że korzystanie z bazy z dockerem jest dużo wygodniejsze.

Ja tak dobrze xamppa nie znam, więc nie pomogę z tym co tam nie działa. Pewnie nie postawił bazy odpowiednio, albo baza nasłuchuje na innym porcie.

edytowany 1x, ostatnio: Riddle
A8
  • Rejestracja:4 miesiące
  • Ostatnio:4 miesiące
  • Postów:8
0
Riddle napisał(a):
Adam85Pń napisał(a):

No właśnie szukam na necie jakiegoś innego w miarę łatwego programu który ogarnę z moim małym doświadczeniem żeby się pobawić i nabrać wiedzy w programowaniu. Taki żebym mógł stworzyć baze danych i dodawać tam rekordy i takie tam.

Polecisz coś?

Mówiłem już - ja korzytam z dockera, to super technologia do korzystania z wielu różnych programów, szybko i łatwo. Można stawiać wiele różnych baz, nawet na raz, usuwać, wyłączać i włączać je bardzo prosto. No ale wymaga to zaznajomienia się z dockerem - co i tak jest plusem, bo to jest super technologia, warto ją znać. Jak się przekaże flagę -d, to można nawet wyłączyć terminal a baza nadal działa.

Alternatywa to po prostu zainstalować samego MySQL'a lokalnie bez XAMPPA, ale tego raczej bym nie polecał, z uwagi na to że korzystanie z bazy z dockerem jest dużo wygodniejsze.

Ja tak dobrze xamppa nie znam, więc nie pomogę z tym co tam nie działa. Pewnie nie postawił bazy odpowiednio, albo baza nasłuchuje na innym porcie.

Robię to samo ale na WebServ. Test połączenia z bazą danych i wyskakuje biała strona i pokazuje kod php. Nie ogarniam tego. Poczytam na necie może dojdę do tego co jest nie tak.

Dzięki za odpowiedzi.

jurek1980
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 5 godzin
  • Postów:3457
0

Jeśli w tym kodzie PHP wyświetlonym widzisz znaczniki rozpoczęcia skryptu czyli <?php to kod jednak nie jest Interpretowany. Gdzie umieszczasz ten kod? W jakim katalogu?
Zrezygnuj z tagu zamykającego.kod w pliku.
Plik connection.php możesz przetestować z linii komend czymś takim:

Kopiuj
C:/mój/katalog/PHP.exe connection.php

Oczywiście z katalogu gdzie masz plik do połączenia.
Jeśli zadziała z linii komend to problemu nadal trzeba szukać w konfiguracji xamp/lokalizacji plików.

A8
  • Rejestracja:4 miesiące
  • Ostatnio:4 miesiące
  • Postów:8
1
jurek1980 napisał(a):

Jeśli w tym kodzie PHP wyświetlonym widzisz znaczniki rozpoczęcia skryptu czyli <?php to kod jednak nie jest Interpretowany. Gdzie umieszczasz ten kod? W jakim katalogu?
Zrezygnuj z tagu zamykającego.kod w pliku.
Plik connection.php możesz przetestować z linii komend czymś takim:

Kopiuj
C:/mój/katalog/PHP.exe connection.php

Oczywiście z katalogu gdzie masz plik do połączenia.
Jeśli zadziała z linii komend to problemu nadal trzeba szukać w konfiguracji xamp/lokalizacji plików.

Już sobie poradziłem. Kod działa, łączy się z bazą mogę dodawać do bazy rekordy z poziomu html i php. Więc tylko się bawić i nabywać doświadczenia.
Na pewno nie jeden problem jeszcze napotkam więc będę się radził doświadczonych koderów.

jurek1980
Warto jeszcze opisać dla potomnych i AI co finalnie było problemem.
A8
Problem polegał na tym że nie wpisywałem w pasek adresu localhost/index.html, tylko otwierałem plik w przeglądarce z folderu. Teraz za każdym razem wpisuje i działa wszystko.
VBService
Tak, bo cała komunikacja musi się odbywać za pomocą połączenia z serwerem, wtedy serwer przetwarza kod w plikach php.
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)