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

question-closed Nie działa ajax na hostingu

Object Storage Arubacloud
0 głosów
538 wizyt
pytanie zadane 14 grudnia 2022 w JavaScript przez neo1020 Dyskutant (8,550 p.)
zamknięte 15 grudnia 2022 przez ScriptyChris

Witajcie

Napotkałem taki problem na hostingu i nie wiem o co chodzi, napisałem do prv.pl ale może z was ktoś będzie miał jakiś pomysł, resztę problemów rozwiązałem


skopiowałem katalog yohabs z
https://abrakadabra111.prv.pl/yohabs/#
do
https://yohabs.prv.pl/yohabs/#

tutaj video

https://youtu.be/GVGIYHEKUxQ

i na https://abrakadabra111.prv.pl/yohabs/# działa kontakt (ajax/php) a na https://yohabs.prv.pl/yohabs/# nie działa

gdzie tu może być problem bo jestem już głupi

 

 

komentarz zamknięcia: Problem rozwiązany odświeżeniem wersji PHP
komentarz 14 grudnia 2022 przez ScriptyChris Mędrzec (190,190 p.)
Co konkretnie nie działa? Wygląda mi na problem z walidacją. Czy w konsoli są jakieś błędy dotyczącego tego formularza/Ajaxa? Czy request jest wysyłany? Jeśli tak, to co zwraca?
komentarz 14 grudnia 2022 przez neo1020 Dyskutant (8,550 p.)
edycja 14 grudnia 2022 przez neo1020

tutaj na abrakadabra jak wysyłam wiadomość to działa ajaxem wysyłam do php

a tutaj nie działa (mimo że na ftp są identyczne pliki)

komentarz 14 grudnia 2022 przez neo1020 Dyskutant (8,550 p.)
edycja 14 grudnia 2022 przez neo1020
<script>

	$(document).on("click", '#msgSend', function() {
		var t1 = $("#email").val();
		var t2 = $("#temat").val();
		var t3 = $("#wiadomosc").val();
		console.log("1");
		
		$.ajax({
		url: "kontakt/send.php",
		type: "POST",
		data: {"z1":t1, "z2":t2, "z3":t3},
		success: function(msg) {
			$().msgpopup({
				text: ''+msg+'',
				type: 'success'
			});
			console.log("2");
			$("#eLoaderMain").load('contact.php');
			console.log("3");

		}
		});

});

 prosty skrypt tak jak i ja

<?php

error_reporting (E_ALL);

$zz1 = false;
$zz2 = false;
$zz3 = false;

if(isset($_POST['z1'])){
	$z1 = $_POST['z1'];
}

if (filter_var($z1, FILTER_VALIDATE_EMAIL)) {
  $zz1 = true;
} else {
  $zz1 = false;
  echo $z1." is not a valid email address";
  exit;
}

if(isset($_POST['z2'])){
	$z2 = $_POST['z2'];
	$zz2 = true;
}

if(isset($_POST['z3'])){
	if(empty($_POST['z3'])){
		$zz3 = false;
		echo "Write something...";
		exit;
	}
	$z3 = $_POST['z3'];
	$zz3 = true;
}



try{
	if($zz1 === true && $zz2 === true && $zz3 === true){
		require_once ('../database/db-connect.php');
		$z = $db_PDO->prepare('INSERT INTO `messages`(
											`msg_sender`,
											`msg_topic`,
											`msg_content`,
											`msg_date`
										)
										VALUES(
											:email,
											:topic,
											:content,
											:date
										)');
		$z->execute([ ':email' => $z1, ':topic' => $z2, ':content' => $z3, ':date' => date('Y-m-d H:i:s')]);
		
		echo 'Wiadomość wysłana, <b>have nice day</b> !';
		exit;
	}else{
		echo 'Coś poszło nie tak';
	}
}catch (PDOExeption $error){
	echo $error->getMessage();
	exit ('Database error');
}
	
	
	

		

   


 

 

 

komentarz 14 grudnia 2022 przez ScriptyChris Mędrzec (190,190 p.)
Ale co konkretnie nie działa? Czy request jest wysyłany? PHP go odbiera i odsyła odpowiedź?
komentarz 14 grudnia 2022 przez neo1020 Dyskutant (8,550 p.)
edycja 14 grudnia 2022 przez neo1020

w prawym dolnym rogu po wysłaniu wiadomości powinno się pojawić 

$().msgpopup({
                text: ''+msg+'',
                type: 'success'
});

czyli to co zwróci php (msg) czyli coś (echo) ze skryptu php w zależności gdzie się zatrzyma a wyświetla się puste na yohabs a na abrakadabra działa

 

 

 

komentarz 14 grudnia 2022 przez ScriptyChris Mędrzec (190,190 p.)
        $.ajax({
        url: "kontakt/send.php",
        type: "POST",
        data: {"z1":t1, "z2":t2, "z3":t3},
        success: function(msg) {
            $().msgpopup({
                text: ''+msg+'',
                type: 'success'
            });
            console.log("2");
            $("#eLoaderMain").load('contact.php');
            console.log("3");
 
        }

Masz handler na success, brakuje na error - dodaj go razem z logowaniem błędu, wtedy konsola powinna coś więcej powiedzieć.

I przydało by się też sprawdzić w zakładce Network devtoolsów przeglądarkowych, co się dzieje z tym requestem: czy jest w ogóle wysyłany i co zwraca (nagłówki oraz ewentualny content).

komentarz 14 grudnia 2022 przez neo1020 Dyskutant (8,550 p.)

Nie za bardzo wiem o co chodzi z tym, jestem amatorem

ten success to tylko kolor okna, jeżeli dobrze rozumiem

Masz handler na success, brakuje na error - dodaj go razem z logowaniem błędu

 tutaj Network z abrakadabraa tutaj yohabs to jedyna różnica jaka rzuciła mi się w oczy

komentarz 14 grudnia 2022 przez ScriptyChris Mędrzec (190,190 p.)

Nie za bardzo wiem o co chodzi z tym, jestem amatorem

ten success to tylko kolor okna, jeżeli dobrze rozumiem

Dodaj error handler do Ajaxa i w nim log:

error: function (error) {
  console.log('ajax error:', error)
}

tutaj Network z abrakadabraa tutaj yohabs to jedyna różnica jaka rzuciła mi się w oczy

Nie wstawiłeś obrazków. A jak już próbujesz, to lepiej przez zewnętrzny serwis, np. imgur.com , bo forumowy edytor wstawia za małe obrazki.

komentarz 14 grudnia 2022 przez neo1020 Dyskutant (8,550 p.)
przywrócone 14 grudnia 2022 przez neo1020

cały czas dodaje obrazy przez serwis zewnętrzny i są do otwarcia w nowym oknie _blank :)

dodałem w ajax error nic to nie dało

__________________________________________

już znalazłem rozwiązanie może to jest głupie ale 2 strony te same pliki 100% i nie działało

zrobiłem tak zalogowałem się na hosting zmieniłem wersję php z 7.3 na 5.2 a po chwili z 5.2 na 7.3 i DZIAŁA hahahah unbelievable

Dziękuję za pomoc 

__________________________________________

 

 

 

Podobne pytania

0 głosów
1 odpowiedź 121 wizyt
pytanie zadane 10 lutego 2020 w JavaScript przez Bartx Bywalec (2,120 p.)
0 głosów
1 odpowiedź 304 wizyt
pytanie zadane 23 października 2018 w PHP przez WireNess Stary wyjadacz (11,240 p.)
0 głosów
1 odpowiedź 155 wizyt
pytanie zadane 9 stycznia 2020 w HTML i CSS przez EmilB Użytkownik (980 p.)

92,615 zapytań

141,465 odpowiedzi

319,782 komentarzy

61,997 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!

...