| 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 $("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: 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: $.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 $pom="";
foreach ($_GET as $key => $val) {
$pom.= $val;
// $data[$key] = htmlspecialchars($val);
}
echo $pom; |
||
| 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 $("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: 8 let
|
|||
0