OSDN Git Service

一度コードを崩してロールバックしたので安全のためコミット
authoryamat0jp <terukohietori@gmail.com>
Sat, 7 Mar 2020 03:12:40 +0000 (12:12 +0900)
committeryamat0jp <terukohietori@gmail.com>
Sat, 7 Mar 2020 03:12:40 +0000 (12:12 +0900)
Unit1.pas
WebModuleUnit1.dfm
WebModuleUnit1.pas

index 2d64031..45a83a9 100644 (file)
--- a/Unit1.pas
+++ b/Unit1.pas
@@ -56,7 +56,7 @@ type
     procedure backNumber(id: integer; out Data: TJSONObject);
     function existsMail(mail: string): Boolean;
     function checkUserPassword(id: integer; password: string): Boolean;
-    procedure createReaderId(Data: TJSONObject);
+    function createReaderId(Data: TJSONObject): Boolean;
     procedure deleteReaderId(Data: TJSONObject);
     function updateReaderId(Data: TJSONObject): Boolean;
     procedure custData(id: integer; Data: TJSONObject);
@@ -76,7 +76,7 @@ type
     procedure postMessage(id: integer; Data: TJSONObject);
     procedure createWriterId(Data: TJSONObject);
     procedure readerData(id: integer; out Data: TJSONObject);
-    procedure titleView(id: integer; Data: TJSONObject);
+    procedure titleView(id: integer;out Data: TJSONObject);
     procedure updateWriterId(id: integer; Data: TJSONObject);
     procedure userView(id: integer; out Data: TJSONObject);
     function loginReader(data: TJSONObject): integer;
@@ -163,17 +163,23 @@ begin
   magList.AppendRecord([id, i]);
 end;
 
-procedure TDataModule1.createReaderId(Data: TJSONObject);
+function TDataModule1.createReaderId(Data: TJSONObject): Boolean;
 var
   i: integer;
   na, ma, pa: string;
 begin
-  FDQuery1.Open('select MAX(readerid) as id from reader;');
-  i := FDQuery1.FieldByName('id').AsInteger + 1;
   na := Data.Values['name'].Value;
   ma := Data.Values['mail'].Value;
   pa := Data.Values['password'].Value;
-  reader.AppendRecord([i, na, ma, pa]);
+  if reader.Locate('mail;password',VarArrayOf([na,ma])) = true then
+  begin
+    FDQuery1.Open('select MAX(readerid) as id from reader;');
+    i := FDQuery1.FieldByName('id').AsInteger + 1;
+    reader.AppendRecord([i, na, ma, pa]);
+    result:=true;
+  end
+  else
+    result:=false;
 end;
 
 procedure TDataModule1.DataModuleCreate(Sender: TObject);
@@ -269,18 +275,28 @@ procedure TDataModule1.userView(id: integer; out Data: TJSONObject);
 var
   i: integer;
   list: TList<integer>;
+  ar: TJSONArray;
+  d: TJSONObject;
 begin
-  Data := TJSONObject.Create;
   list := TList<integer>.Create;
   FDQuery1.SQL.Clear;
   FDQuery1.SQL.Add('select * from indexTable where readerid = :id;');
   FDQuery1.Params.ParamByName('id').AsInteger := id;
   FDQuery1.Open;
   while FDQuery1.Eof = false do
+  begin
     list.Add(FDQuery1.FieldByName('magid').AsInteger);
+    FDQuery1.Next;
+  end;
+  ar:=TJSONArray.Create;
   for i in list do
-    titleView(i, Data);
+  begin
+    titleView(i, d);
+    ar.Add(d);
+  end;
   list.Free;
+  Data := TJSONObject.Create;
+  data.AddPair('mag',ar);
 end;
 
 procedure TDataModule1.custData(id: integer; Data: TJSONObject);
@@ -540,12 +556,13 @@ begin
   end;
 end;
 
-procedure TDataModule1.titleView(id: integer; Data: TJSONObject);
+procedure TDataModule1.titleView(id: integer;out Data: TJSONObject);
 var
   d: TJSONObject;
   i: integer;
 begin
-  d := Data;
+  Data:=TJSONObject.Create;
+  d:=Data;
   FDQuery1.SQL.Clear;
   FDQuery1.SQL.Add('select * from mag where magid = :id;');
   FDQuery1.Params.ParamByName('id').AsInteger := id;
index fe155ed..f0ed05f 100644 (file)
@@ -78,6 +78,7 @@ object WebModule1: TWebModule1
       '        <th>{{name}}<ht>'
       '        <tr><td>{{day}}</td></tr>'
       '        <tr><td>{{lastDay}}</td></tr>'
+      '        {{^enable}}<tr><td>'#20241#21002#20013'</td></tr>{{/enable}}'
       '        </table>'
       '    {{/mag}}'
       '    <p><a href=/top>'#12488#12483#12503'</a>'#12506#12540#12472#12408#25147#12387#12390#36861#21152#12375#12414#12375#12423#12358
index 0b9404d..1bb783a 100644 (file)
@@ -106,7 +106,7 @@ end;
 procedure TWebModule1.WebModule1readerDataAction(Sender: TObject;
   Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
 var
-  data: TJSONObject;
+  data, d: TJSONObject;
   num: TJSONNumber;
 begin
   with Request.ContentFields do
@@ -133,7 +133,9 @@ begin
         DataModule1.updateReaderId(data);
       end;
     mtPost:
-      DataModule1.createReaderId(data);
+      if DataModule1.createReaderId(data) = false then
+        //2\8fd\93o\98^
+        ;
     mtDelete:
       with Request.ContentFields do
       begin
@@ -146,6 +148,8 @@ begin
   data.Free;
   Response.ContentType := 'text/html;charset=utf-8';
   DataModule1.userView(readerId, data);
+  DataModule1.readerData(readerId,d);
+  data.AddPair('reader',d);
   mustache := TSynMustache.Parse(readerTop.Content);
   Response.Content := mustache.RenderJSON(data.ToJSON);
 end;