• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

"Nie działające" INSERT INTO w kodzie php

Object Storage Arubacloud
0 głosów
1,146 wizyt
pytanie zadane 25 lipca 2017 w SQL, bazy danych przez Szczur Nowicjusz (190 p.)

Heja ponownie.

Znów z podobnym problemem otóż do pliku PHP, który odpowiada za wysyłanie maila z danymi z formularza na maila administratora strony postanowiłem dodać panel administratora, gdzie będzie znajdować się karta 'oczekujące i zaakceptowane wizyty". Problem pojawił się dosyć szybko, gdy postanowiłem go wdrożyć do tego właśnie pliku.
Kod wygląda w ten oto sposób;

<?php

	//Mail wizyt
	$od  = "From: wizyta@*********.pl \r\n"; 
	$od .= 'MIME-Version: 1.0'."\r\n";
	$od .= 'Content-type: text/html; charset=iso-8859-2'."\r\n";

	$adresat = '***********@gmail.com'; 
	$temat = 'Rezerwacja wizyty w Salonie Fryzjerskim';
	$name = $_POST['your-name'];
	$etel = $_POST['your-etel'];
	$date = $_POST['your-date'];
	$content = 'Osoba o imieniu i nazwisku: ' . $name . '<br />Kontaktujaca sie pod numerem lub mailem: ' . $etel . '<br />Chcialaby zarezerwowac wizyte dnia: ' . $date . '<br /> -- <br /> Wyslano z formularza kontaktowego na stronie ********.pl/wizyta;	
	
	//Wysylanie danych z formularza do tabeli `wizyty`
	$sql_conn = mysql_connect('localhost', '**********', '***********');
	mysql_select_db('***********');
	$zapytanie = "INSERT INTO `wizyty`(`id`, `your-name`, `your-etel`, `your-date`, `status`) VALUES ('NULL', '$name', '$etel', '$date', 'waiting')";
	mysql_query($zapytanie);
	mysql_close($sql_conn);

    if (mail($adresat, $temat, $content, $od)) 
       header("Location: finally.php"); 
    else 
       header("Location: lost.php"); 

?>

W czym problem? Ni cholery skrypt nie chce wysłać rekordu do bazy danych mimo, że wszystkie dane połączeniowe są poprawne. O przekierowywaniu na lost.php lub finally.php nie wspomnę. Mail działał normalnie póki nie dodałem połączenia z bazą danych.

@Edit: Kod do połączenia mysql, wysyłania rekordów brałem z jakiegoś tam poradnika, który podesłał mi kolega.

Pozdrawiam
Szczur
 

komentarz 25 lipca 2017 przez Arkadiusz Waluk Ekspert (287,950 p.)
Wyskakują jakieś błędy? Masz w ogóle włączone ich wyświetlanie? Jaką masz wersję PHP?
komentarz 25 lipca 2017 przez Szczur Nowicjusz (190 p.)
Wersja PHP to 5.6, co do wyświetlania błędów to było lecz nie pokazywało de facto żadnego błędu. Pustka.
komentarz 25 lipca 2017 przez Arkadiusz Waluk Ekspert (287,950 p.)
Na 5.6 powinno jeszcze działać. Pytam w kontekście funkcji zaczynających się od mysql_, które są już dawno zdeprecjonowane, a od PHP 7 usunięte - gdybyś miał 7, kod nie miałby szans zadziałać. Nawet jeśli nie masz, bardzo polecam zmianę na mysqli albo najlepiej PDO.

Na końcu linii 13 masz u siebie apostrof zamykający string? W powyżej podanym kodzie go nie ma.
komentarz 25 lipca 2017 przez Szczur Nowicjusz (190 p.)
Tak mam ten apostrof, pewno edytując komentarze (//) usunąłem go. Okej, poczytam na temat PDO i mysqli.
komentarz 25 lipca 2017 przez Szczur Nowicjusz (190 p.)
Świetnie, działa.  Użyłem mysqli, oczywiście były błędy, bo uczymy się na własnych błędach ;]

Pozdrawiam.
komentarz 25 lipca 2017 przez Arkadiusz Waluk Ekspert (287,950 p.)
Cieszę się, powodzenia ;)

Jako dodatek mogę dopowiedzieć, że funkcja mail() też jest słaba, bywają z nią problemy i jest mało wygodna (co widać wyżej, ręczne ustawianie nagłówków itd.). Lepiej skorzystać z biblioteki PHPMailer lub SwiftMailer i wysyłać przez SMTP.
komentarz 26 lipca 2017 przez Szczur Nowicjusz (190 p.)
Jasne, wezmę sobie Twoją radę do serca ;)

Jeszcze jedno pytanie, bo nie chce otwierać nowego tematu, żeby otrzymać małą odpowiedź. Robie tabelę użytkowników i potrzebuję dodać coś do kodu, żeby mi brało każdego użytkownika do <table> z statusem 'waiting' a nie, że ja mam ID = 1 i w każdej rubryce wyświetla tylko mnie. Mam nadzieję, że rozumiesz o co mi chodzi. Jeśli nie - to chce mieć spis użytkowników o ID od 1 do nieskończoności ale TYLKO z statusem 'waiting'.
Obecnie kod wygląda w ten sposób; https://pastebin.com/EjqAb4Vd w tabeli mam wpisane <?php echo $row[0]; ?> i tak 5 razy z inną liczbą w nawiasie.
komentarz 26 lipca 2017 przez Arkadiusz Waluk Ekspert (287,950 p.)

Hm, nie za bardzo rozumiem. Czyli potrzebujesz wybrać z bazy użytkowników tylko którzy mają status 'waiting'? Można to zrobić prostym zapytaniem dodając warunek, np. SELECT ... FROM ... WHERE status = 'waiting'. Następnie użyć fetch_all() i dostaniesz tablicę z listą rekordów, którą następnie możesz przeiterować np. pętlą foreach i zrobić co trzeba.

1
komentarz 26 lipca 2017 przez Milesq Nałogowiec (32,020 p.)
null nie powinno być w apostrofie ;)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 344 wizyt
pytanie zadane 6 marca 2018 w SQL, bazy danych przez DinapeS Początkujący (350 p.)
0 głosów
1 odpowiedź 198 wizyt
pytanie zadane 16 lutego 2017 w SQL, bazy danych przez Marchiew Dyskutant (7,690 p.)
0 głosów
2 odpowiedzi 156 wizyt
pytanie zadane 9 czerwca 2018 w PHP przez Q7V Gaduła (4,250 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...