-1

PHP スクリプトでデータ値を受信できません。ajax は成功しますが、これを送信してもデータベースのデータは変更されません。

        $.ajax({
        type: "POST",
        url: "database/clientpanel/agent_panel/notiffolder/notifedit.php",
        data: {
        email: email,
        number: number,
        emailon: emailon,
        texton: texton,
        email_delay: emaildel,
        ext_delay: textdel,
        timezone1: zone1,
        timezone2: zone2
        },
        cache: false,
        success: function(html){
            $("#upnotif").show();
            $("#errnotif").hide();
            $("#errnotif1").hide();
            $("#errnotif2").hide();
        }
    });

php

<?php
session_start();
include("../../../dbinfo.inc.php");

$query=" select * from tele_panel_notification where client='".$mysqli->real_escape_string($_SESSION['clientid'])."'";
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
$client = $row['client'];

if($client == ""){
$query = "insert into tele_panel_notification set
emailon = '".$mysqli->real_escape_string($_POST['emailon'])."',
texton = '".$mysqli->real_escape_string($_POST['texton'])."',
timezone = '".$mysqli->real_escape_string($_POST['timezone'])."',
timezone2 = '".$mysqli->real_escape_string($_POST['timezone2'])."',
email = '".$mysqli->real_escape_string($_POST['email'])."',
email_delay = '".$mysqli->real_escape_string($_POST['email_delay'])."',
text_delay = '".$mysqli->real_escape_string($_POST['text_delay'])."',
number = '".$mysqli->real_escape_string($_POST['number'])."',
client='".$mysqli->real_escape_string($_SESSION['clientid'])."'";

    //execute the query
    if( $mysqli->query($query) ) {
        //if saving success
        echo "true";
    }else{
        //if unable to create new record
        printf("Errormessage: %s\n", $mysqli->error);
    }
}
else{
$query = "UPDATE tele_panel_note SET 
emailon = '".$mysqli->real_escape_string($_POST['emailon'])."',
texton = '".$mysqli->real_escape_string($_POST['texton'])."',
timezone = '".$mysqli->real_escape_string($_POST['timezone'])."',
timezone2 = '".$mysqli->real_escape_string($_POST['timezone2'])."',
email = '".$mysqli->real_escape_string($_POST['email'])."',
email_delay = '".$mysqli->real_escape_string($_POST['email_delay'])."',
text_delay = '".$mysqli->real_escape_string($_POST['text_delay'])."',
number = '".$mysqli->real_escape_string($_POST['number'])."'
where client='".$mysqli->real_escape_string($_SESSION['clientid'])."'";

    //execute the query
    if( $mysqli->query($query) ) {
        //if saving success
        echo "true";
    }else{
        //if unable to create new record
        printf("Errormessage: %s\n", $mysqli->error);
    }
}   

    //close database connection
$mysqli->close();

?>
4

1 に答える 1

2

PHP の部分を見てください。

   $result = $mysqli->query($query);
   $row = $result->fetch_assoc();
   $client = $row['client'];

   if($client == ""){

行が既に存在するかどうかを知りたい場合は、行を直接確認する必要があります。

   $result = $mysqli->query($query);
   $row = $result->fetch_assoc();
   //$client = $row['client'];

   if(!$row){

そして、クライアント変数は役に立ちません。

于 2012-11-27T02:35:32.070 に答える