Kezdőoldal » Számítástechnika » Weblapkészítés » (AJAX/JS, JSON/PHP) Kezdek...

(AJAX/JS, JSON/PHP) Kezdek megbolondulni lassan, Hogyan kell ezt megcsinálni?

Figyelt kérdés

Amit szeretnék:


Van egy input:

1. Ír bele valaki valamit

2. Meghív egy PHPt, lekérdezi, hogy foglalt-e a beírt név.

3. Értesít


Már szinte mindent megpróbáltam, de sehogy se jön össze.


JS:

$('#account').bind("change", function() {

var check_input = document.getElementById('account').value;

$.ajax({

type: "POST",

url: "index.php",

data: { acce: check_input },

dataType: "json",

success: function (response) {

if(response.status == "success") {

alert('ok');

} else if(response.status == "error") {

alert('nemok');

}

}

})

});


feldolgozó PHP:

<?PHP

if( isset($_POST['acce']) ){

$account = mysql_real_escape_string($_POST['acce']);


if (preg_match("/^[a-zA-Z0-9]*$/i",$account)) {

$check_account = "SELECT id FROM data.data WHERE name='$account' ";

$check_accountQ = mysql_query($check_account,$sqlServ);

$check_num = mysql_num_rows($check_accountQ);


if ($check_num == 0) {

echo json_encode(array('status' => 'success'));

}else{

echo json_encode(array('status' => 'error'));

}

}

}

?>


Index.php:

- Mysql kapcsolat.

- Feldolgozó PHP: <?PHP include('./page/check.php'); ?>

- [link] <?PHP require("./inc/jsonwrapper.php"); ?>

- Az input

- JS libek


Az a probléma, hogy tökéletesen működik, ha az sql parancs UPDATE, DE SELECTel sehogy sem tudom megoldani.

Ha a feldolgozó PHPba, beírom, hogy echo '<script>alert('húzdmeg a f..om')</script>';, akkor sem történik semmi... Ezért próbáltam meg json-al, de semmi változás.


Valaki tudna valami ötletet adni? Kezd nagyon bosszantani.



2013. nov. 3. 01:40
 1/9 A kérdező kommentje:
Elnézést, hogy átláthatatlan lett, nem vette be a tabokat a gyik.
2013. nov. 3. 01:43
 2/9 A kérdező kommentje:

UI:

Az "if(response.status == "success")" résznél először ===-t próbáltam, aztán ==-t ,de semmi változás.

2013. nov. 3. 01:47
 3/9 anonim válasza:

off:

Sztem töltsd fel vhova a forráskódot és linkeld be, úgy látható a tab.

2013. nov. 3. 02:24
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:
Ctrl+c, Ctl+v notepad++ba és tab nélkül is átlátható valamennyire, de szerintem aki tudja mi a gond, az így is tudni fogja. Vagyis nagyon remélem, mert idegrendszerem már nincs.
2013. nov. 3. 02:29
 5/9 anonim ***** válasza:
De ha csak simán echo 'true' vagy echo 'false'-t adsz meg php kimenetként és alert(response) akkor mi van?
2013. nov. 3. 03:50
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:
Sajnos így sem működik.
2013. nov. 3. 04:30
 7/9 qaxqaxqax ***** válasza:

Pff.. nekiálltam, de már én sem merem megmérni a vérnyomásom:D

Bocsi:(

2013. nov. 3. 08:28
Hasznos számodra ez a válasz?
 8/9 Drone007 ***** válasza:

Az ajax lekérdezést egészítsd ki egy error kóddal, mert így nem látod mi történik a feldolgozó php-ben:


$('#account').bind("change", function() {

var check_input = $('#account').val(); // ha már jquery...

$.ajax({

type: "POST",

url: "index.php",

data: { acce: check_input },

dataType: "json",

success: function (response) {

if(response.status == "success") {

alert('ok');

} else if(response.status == "error") {

alert('nemok');

}

},

error: function (jqXHR, textStatus, errorThrown) {

console.log("Hiba történt: " + testStatus);

console.log("Rendszerválasz: " + jqXHR.responseText);

}

})

});


valamint javaslom, hogy egy külön feldolgozó fájlt használj az adatok feldolgozására (ne az index.php-t), mert ott meghívhatsz olyan libeket, változókat, amire itt nem lesz szükséged, csak a memóriát terhelik feleslegesen. Más szóval: a feldolgozáshoz célszerszámot használj, ne a komplett oldaladat töltsd újra.


Ha egy egszerű válaszról van szó, akkor nem kell a json-t sem túlbonyolítani, elég egy

echo json_encode(array(1)); / echo json_encode(array(0));

lekérdezéshez meg response == 1 ...


Ha hiba van, redukáld a kódot, próbálj kimenetre küldeni minél több adatot, amiből kitalálod hol vérzett el a kód.


Egyébként ilyesmihez egy spec jsonwrapper lib-re semmi szükség, nyugodtan kukázhatod, csak a memóriát zabálja.

2013. nov. 3. 08:34
Hasznos számodra ez a válasz?
 9/9 Djjjozsiiiii ***** válasza:

Hali,

nézd meg ezt, ez alapján menni fog szerintem.

[link]

2013. nov. 4. 14:00
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!