• 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

VPS Starter Arubacloud
0 głosów
472 wizyt
pytanie zadane 14 grudnia 2022 w JavaScript przez neo1020 Dyskutant (8,430 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,430 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,430 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,430 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,430 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,430 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ź 118 wizyt
pytanie zadane 10 lutego 2020 w JavaScript przez Bartx Bywalec (2,120 p.)
0 głosów
1 odpowiedź 271 wizyt
pytanie zadane 23 października 2018 w PHP przez WireNess Stary wyjadacz (11,240 p.)
0 głosów
1 odpowiedź 149 wizyt
pytanie zadane 9 stycznia 2020 w HTML i CSS przez EmilB Użytkownik (980 p.)

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...