Autor | Zpráva | ||
---|---|---|---|
PavV Profil |
#1 · Zasláno: 29. 10. 2018, 08:50:54 · Upravil/a: Moderátor (editace znemožněna) 6. 11. 2018, 23:46:52
Prosím o radu, chci testovat případnou duplicitu při vložení nového uživatele. Problém je, že PHP mi stále hlásí že nemá data.
Kod js: Při opravě dat již nemusí zadávat jméno a heslo 1$("iframe").ready(function(){ $("iframe").ready(function(){
$("#myform").validate({
rules: {
jmeno: {
required: true,
minlength: 5
},
user: {
required: function(){return $("#action").val()=="pridat" ? true : false},
minlength: 5
},
pass: {
required: function(){return $("#action").val()=="pridat" ? true : false},
minlength: 5,
remote: {
url: "./duchoDupl.php",
type: "post",
async: false,
datatype: "json",
data: {id:function(){return $("#id").val();},
user:function(){return $("#user").val();},
pass:function(){return $("#pass").val();}
}
}
}
},
messages: {
pass: {
remote: "Tato varianta přistupového jména a hesla již existuje."
}
}
});
}) V PHP: 1header("Content-type: application/json"); header("Content-type: application/json");
require_once "./system/data.php";
class pracDupl extends data{
public function __construct( ) {
parent::__construct();
$id = $_POST["id"];
$user = $_REQUEST["user"];
$pass = $_REQUEST["pass"];
$sql = "SELECT id FROM users WHERE id!=$id AND username='$user' AND pass=SHA1('$pass')";
$navrat= parent::queryAll( $sql);
if( !empty( count($navrat))){
echo json_encode(false);
}else{
echo json_encode(true);
}
}
}
new pracDupl(); Dík za radu |
||
Rfilip Profil |
#2 · Zasláno: 29. 10. 2018, 10:20:15
Pokud se podíváš do Síť záložky vyvojarskych nástrojů prohlížeče, jak vypadá ten http požadavek na ten duchDup1.php soubor a jeho http odpověď ?
|
||
PavV Profil |
Rfilip
URL požadavku: localhost/cir/js/ducho_val.js?_=1540808189698 Metoda požadavku: GET Vzdálená adresa: Stavový kód: 200 Původ: xhr nemůže být problém že ducho_val (jako každou validaci)načítám v ajaxu. Po načtení a otevření jquery.dialog? je to součást meho minisystemu. Zajimavé je, že délky proměných fungují ok Rfilip: 1 $.ajax({ $.ajax({
data: formData,
success: function (msg)
{
//alert(msg);
var ret = $.parseJSON(msg);
if (ret["error"]!=""){
alert(ret["error"]);
}else{
if (typeof ret["head"] == "undefined") { ret["head"]= "";}
$("#dialog-form").html("<form id='myform' name='myform'>"+ret["text"]+"</form>");
$("textarea").jqte();
$("#dialog-form").dialog({
width: "auto",
title: ret["head"],
buttons:
[{text: ret["butt"]["text"], //odesilam formular a zavru dialog
click: function(){
var isValid= ret["script"] == true ? $("#myform").valid() : true;
if(isValid) {
var formData = new FormData( $("#myform")[0]);
formData.append( "f", form);
formData.append( "akce", ret["butt"]["fc"]);
$.ajax({
data: formData,
complete: function(){
if (typeof fcComplete == "function"){fcComplete();}
},
success: function (msg){
if( $("#article").length){
$("#article").html( msg);
}else{
$("body").html( msg);
}
afterLoad();
}
})
$("script[src='./js/"+form+"_val.js']").remove();
$(this).dialog("close");
}
}
},
{text: ret["butt"]["clos"], // jen zavri dialog
click: function() {
$("script[src='./js/"+form+"_val.js']").remove();
$(this).dialog("close");
}
}
] // button - end
})
if( ret["script"]){
$('head').append('<script type="text/javascript" src="./js/'+form+'_val.js"></script>');
}
}
},
error: function (request, status, error) {
alert(request.responseText);
}
}) |
||
Časová prodleva: 8 dní
|
|||
PavV Profil |
Rfilip:
Při načítání : URL požadavku: localhost/cir/js/ducho_val.js?_=1540808189698 Metoda požadavku: GET Stavový kód: 200 Původ: xhr a když to má otestovat URL požadavku: localhost/cir/js/ducho_val.js?[object Object]&_=1540808189698 Metoda požadavku: GET Stavový kód: 200 Původ: xhr Php mi vrati jen to číslo |
||
Davex Profil |
#5 · Zasláno: 6. 11. 2018, 20:43:27
Pro odeslání dat v objektu bys asi měl používat metodu POST a nikoliv GET.
|
||
PavV Profil |
#6 · Zasláno: 7. 11. 2018, 08:08:09
Davex:
Ano, to je na zkoušku. Řeším proč mi jquery validate remote neodesílá data |
||
Kajman Profil |
#7 · Zasláno: 7. 11. 2018, 09:15:20
Ty požadavky, co jste zmínil, jdou na .js soubory místo na .php soubory. Jste si jistý, že v máte i .js soubory nakonfigurované, aby byl interpetován php kód? Nezpomněl jste v metodě ajax definovat parametr url? Co je v odpovědi?
|
||
PavV Profil |
Kajman:
Omlouvám se, přepsal jsem se. XHR mi vypíše Po načtení URL požadavku: localhost/cir/js/ducho_val.js?_=1540808189698 Metoda požadavku: GET Stavový kód: 200 Původ: xhr a když to má otestovat URL požadavku: localhost/cir/duchoDupl.php?[object Object]&_=1540808189698 Metoda požadavku: GET Stavový kód: 200 Původ: xhr |
||
blaaablaaa Profil |
#9 · Zasláno: 9. 11. 2018, 11:05:03
PavV:
Zajímá nás, co je v těle odpovědi (v DevTools záložka Network -> klik na daný request -> záložka Response) |
||
Kajman Profil |
I v tom URL požadavku je podivnost [object Object], kdy metodě ajax asi předáváte jako data svůj speciální objekt a ne PlainObject.
|
||
PavV Profil |
#11 · Zasláno: 9. 11. 2018, 15:00:11
Kajman:
Ano, měl jste pravdu. Pro ukládání jsem měl nastaven 1$("iframe").ready(function(){ $("iframe").ready(function(){
/* $.ajaxSetup({
type: "POST",
cache: false,
processData: false,
contentType: false,
url: "./akce.php",
error: function (request, status, error) {
alert(request.responseText);
}
});
*/
}) Po zapoznámkování vše začlo chodit, díky všem |
||
Časová prodleva: 6 let
|
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.
Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:
Běda vám, jestli to bude blábol.
0