Hirdetés
- Kétezer eurós csomag lehet a Vivo X300 Ultra
- Xiaomi 15T Pro - a téma nincs lezárva
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- iPhone topik
- Honor Magic V2 - origami
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy Watch6 Classic - tekerd!
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Google Pixel topik
- Bemutatkozott a Poco X7 és X7 Pro
-
Mobilarena
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
SektorFlop
#2379
üzenetére
Ez a kód már csak azért is fájó, mert olyan könnyen támadható az oldalad SQL Injectionnel, mint az állat. Nem ártana escape-elni a felhasználótól érkező tartalmat - soha ne bízz meg abban az adatban, ami a felhasználótól közvetlenül érkezik...
Másrészt ha kódot illesztesz be, akkor jelöld ki a kódodat itt a szövegmezőben, majd kattints a "Programkód" gombra, pont arra való, hogy valami normálisan átlátható formában legyenek a kódok.
Harmadrészt: a mailcsere.php fájlban abszolúte semmi értelme JavaScripttel átirányítani a felhasználót, arra ott a PHP header() függvénye is - felesleges tehát kiíratni bármit is.
Ahogy a példában van:
header('Location: http://www.example.com/');
de ezelőtt ne legyen SEMMILYEN kiíratás.
DE (!!!) ezt NE TEDD BELE!! Egyáltalán ne rakj bele semmilyen átirányítást, mert most AJAX-os kommunikáció zajlik, lásd később a magyarázatot.Aztán menjünk tovább.
Ez van most a kódodban:
/* Send the data using post and put the results in a div */
$.post( 'login/mailcsere.php', { email: term },
function( data ) {
var content = $( data ).find( '#content' );
$( "#result" ).empty().append( content );
}
);Ez most azt csinálja, hogy a login/mailcsere.php fájlnak elküldi a term-ben található adatot, az emailbe objektumba begyűjtve, ez majd PHP-oldalon is megjelenik.
A sikeres (!) adatküldés esetén (pl. létezik a fájl, elérhető, nem dobott vissza hibát, stb.) a content változóba úgy pakolja be az adatot, hogy a visszakapott adatokból kikeresi a "content" id-val rendelkező DOM-elemet (!), aztán a content változó tartalmát bepakolja a "result" id-val rendelkező HTML-elembe.Egyrészt: amit Te visszaadsz a PHP-fájllal, abba nem raksz bele semmi olyat, amiben "content" id-val rendelkező elem van, másrészt egyáltalán nincs "result" id-vel rendelkező elemed az oldalon.
Sőt, a PHP-fájlban csak azt a JavaScriptes visszairányítós részt íratod ki, ami AJAX-os kommunikáció esetén eleve felesleges.Először próbáld csak úgy, hogy kiíratod echo-val, hogy "siker" vagy "hiba", aztán a $.post részt egyelőre (!) így módosítod:
var content = $( data ).find( '#content' );
$( "#result" ).empty().append( content );
HELYETT
var content = $( data );
$( "#result" ).empty().append( content );Ezenkívül még tegyél be a mobil.php fájlba egy ilyet valahova a végére mondjuk:
<div id="result"></div>Ide fogja pakolni az AJAX-kommunikáció eredményét.
Új hozzászólás Aktív témák
- Jura C60 I Szervizelve I Easy-cappuccino fej I 3 hónap garancia I Számla I Beszámítás
- Macbook Pro 16" A2485 2021 M1 Pro 16/512 (3) (106 ciklus 97% akku)
- Macbook Pro 16" A2485 2021 M1 Pro 16/512 (2) (72 ciklus 84% akku)
- Samsung Galaxy S23 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- ANTEC TORONY PC HÁZ
- Lenovo Legion Slim 5 Ryzen 7 7840HS 16GB 512GB RTX 4060 OLED 120Hz 1év garancia
- AKCIÓ! MSI Thin 15 B13UC FHD GAMER notebook - i5 13420H 16GB DDR4 512GB SSD RTX 3050 4GB WIN11
- GAMER PC! Ryzen 7700X / RX 9070 / 32GB DDR5 / 1TB Gen4 / X870E /850w Platinum! BeszámítOK!
- LG 65EU961H 4K OLED 65" TV! 3840x2160
- iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4328, 100% AKKSI
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

