Ask Question Forum:
Model Library:2025-02-08 Updated:A.I. model including DeepSeek is online for auto reply question page
C
O
M
P
U
T
E
R
2
8
Show
#
ASK
RECENT
25-06-28 16:30:14
Wilson Edwards
Reply:3
Post_ID:829370google adsense
as TitlePlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-06-28 16:00:17
Wilson Edwards
Reply:0
Post_ID:829369googles adsense
As TitlePlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-06-27 11:44:47
Wilson Edwards
Reply:2
Post_ID:829367googleads;drive traffic;adsense
I read some outside third-party company to prompt driving web traffic to my website to increase my google adsense revenue.How are they able to do ?During driving traffice to my website, it will create google adsense impression or not ?Google will treat that impression is invalid ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-06-27 11:02:02
Wilson Edwards
Reply:0
Post_ID:829368googleads;invalid traffic
I read some outside third-party company to prompt driving web traffic to my website to increase my google adsense revenue.How are they able to do ?During driving traffice to my website, it will create google adsense impression or not ?Google will treat that impression is invalid ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-05-05 20:08:11
test test
Reply:3
Post_ID:829366googlebot;crawler;cloudflare
Accept
How my website can use cloudflare with"Under Attack Mode" and be able to allow goolge bot, crawler to crawl my website pages at the same time ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-04-17 16:26:31
Wilson Edwards
Reply:1
Post_ID:829365css;html
Accept
as title Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-04-14 19:42:56
Wilson Edwards
Reply:5
Post_ID:829364javascript
Accept
Please adviseThanks
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-04-14 01:47:39
Wilson Edwards
Reply:2
Post_ID:829363javascript
I have set iframe addEventListener with mousedown event, it works becoz the iframe source is same domain ofthe current page..For example<iframe id=''myiframe" src='https://samedomian.com//test.html'></iframe><script>document.getElementById("myiframe").addEventListener('mousedown, function () {console.log('mousedown event detected');});</script>But when I change iframe src to external domain or cross-domin such as https://example.comit doesn't work, the reason it is blocked by cross-dmain policyAny mothed to solve this issue, how to detect mousedown event on iframe ?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-04-14 01:22:51
Wilson Edwards
Reply:2
Post_ID:829362javascript
For example, I have a link in DIV-A tag now I can not click the link in DIV-A because it is covered by DIV-B I want to click the link DIV-A anyway. I tried this example, it work at https://computer28.com/learn/pointer-events.php Any other good example or other method to achieve this ? Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-28 09:26:04
Wilson Edwards
Reply:5
Post_ID:829361google_drive;php;centos8
I would like to download all my google_drive files by using php program code onmy linux centos 8 system server, how to it ?How to get the google API key to start download for php program ?Since the download file size is very huge, how can I speed up the download the file ifits size is more 100G size ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-12 23:38:28
Wilson Edwards
Reply:1
Post_ID:829360javascript;html;css
Accept
I would like to create child node inside of body tag and enclosing all elements inside body tagby javascript code;For example:Before:<html><body><div></div><a></a><span></span></body></html>After, if I would like to see this reuslt, creating new div tag enclose everything inside of body tag, new div tag 's id is new_child_nodeAfter:<html><body><div id='new_child_node'><div></div><a></a><span></span></div></html></body>Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-03 21:46:28
test test
Reply:4
Post_ID:829359cloudflare;proxy;socket;python;centos 8;apache
I am using cloudflare to protect my website recently,but I have a page which is using python socket to send streaming data to visitor with 5000 portsuch as http://mywbesite.com:5000.Before using clouldflare, visitor can get data from port 5000, now after usingcloudflare, all visitors to my website can not get any data from port 5000.Now I pause cloudflare, the python socket port is working back again..The question is I would to like to keep all cloudflare service such as proxy but python socket port need to work for exception by cloudflare, how can I do that ?My Simple python socket code:from flask import Flask, render_template, request, session,jsonifyfrom flask_sse import ssefrom flask_socketio import SocketIO, emit, join_roomimport platformimport loggingfrom flask_cors import CORSimport socket....if __name__ == "__main__": app.run(host="0.0.0.0",debug=False, port=5000, ssl_context=("mycert")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-02 21:19:15
test test
Reply:3
Post_ID:829358cloudflare;VPN;proxy;linux;apache
My website is using cloudflare internt traffic protection.I am using php code to monitor all internet ip through chrome browser to my websitefor example, monitoring $_SERVER['HTTP_X_FORWARDED_FOR'] and$_SERVER['REMOTE_ADDR'];I try it in those different computers with different ISP ip, I found the result as followsCase-1 Computer A,$_SERVER['HTTP_X_FORWARDED_FOR']="51.58.202.19";$_SERVER['REMOTE_ADDR']="172.64.0.0"where51.58.202.19 is my Compuer A ISP ip and172.64.0.0 is cloudflare use proxy server to get the webpage for Computer A.Case-2 Computer B,$_SERVER['HTTP_X_FORWARDED_FOR']="61.85.102.11";$_SERVER['REMOTE_ADDR']="61.85.102.11"where61.85.102.11is my Compuer B ISP ip and$_SERVER['HTTP_X_FORWARDED_FOR']=$_SERVER['REMOTE_ADDR']My question is Why in case-1 Cloudflare will use proxy to get webapge for computer A butcloudfare don't use proxu to get wbepage for computer B in which both php ip is same from$_SERVER['HTTP_X_FORWARDED_FOR']=$_SERVER['REMOTE_ADDR'] ?Second question, in what condition ro when Cloudflare use proxy or not use proxy to get webpage for browser visitor?Final question isIf cloudflare use proxy , it mean visitors of Computer A, ISP IP maybe bot or maliciousor suspected IP , Can I release Google Ads on my webste and allow the vistior of Computer A to click the ads ? If the visitors click the ads, it mean the click is excuted from Computer A, ISP IP or from Cloudflare 's proxy IP ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-02 12:50:13
test test
Reply:2
Post_ID:829357cloudflare;google chrome;apache
Question 1- Cloudflare show warning, too may redirect on chrome solvedAnswer: solved by removing all redirect from http to https since cloudflare will handleall redirect from http.Since in apahce httpd.conf, we added the following for http to https and except some directorybased on this linkhttps://stackoverflow.com/questions/5818146/how-to-force-rewrite-to-https-except-for-a-few-pages-in-apache#RewriteEngine on#RewriteCond %{SERVER_NAME} =computer28.com [OR]#RewriteCond %{SERVER_NAME} =www.computer28.com#RewriteRule ^https://%{SERVER_NAME}%{REQUEST_URI}[END,NE,R=permanent]#RewriteEngine on#RewriteCond %{HTTPS} =off#RewriteCond %{REQUEST_URI} !^\/local\/#RewriteCond %{REQUEST_URI} !^\/world\/#RewriteRule (.*)https://%{HTTP_HOST}/$1[L,R=301]#RewriteCond %{HTTPS} =on#RewriteCond %{REQUEST_URI} \/fid\/ [OR]#RewriteCond %{REQUEST_URI} \/php\/#RewriteRule (.*)http://%{HTTP_HOST}/$1[L,R=301]Comment it all, it works nowQuestion-2:How to Fix ERR_QUIC_PROTOCOL_ERROR Message in Chrome Browserwhen using cloudflareAnswer-2https://kinsta.com/knowledgebase/err_quic_protocol_error/https://www.hostinger.com/tutorials/how-to-fix-err-quic-protocol-errorchrome://net-internals/#dnsHTTP/3 Cheker:https://http3check.net/?host=computer28.comhttps://kinsta.com/knowledgebase/flush-dns/on Window 10:ipconfig /flushdns //clear all DNS cachingFinal, if still can not solve question-2, delete cloudflare account and then re-create new other account using other gmail accout to see any help from resetting all cloudflare default setting.Need to wait 1-day or 2-day. to see theERR_QUIC_PROTOCOL_ERROR will be sovledor not...If above answer can not be solved, any suggestion or solution to solve those those bothquestions,Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-01 19:03:13
Wilson Edwards
Reply:2
Post_ID:829356centos 8
as title for the question, I read the link,https://devco.re/blog/2014/06/19/client-ip-detection/ it works , for php as following code., Any other method besides php code, to dectect the ip is real ip not VPN not TOR IP not proxy IP?<?php if(!empty($_SERVER['HTTP_CLIENT_IP'])){ $myip = $_SERVER['HTTP_CLIENT_IP']; }else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $myip = $_SERVER['HTTP_X_FORWARDED_FOR']; }else{ $myip= $_SERVER['REMOTE_ADDR']; } echo $myip; ?>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-03-01 17:56:38
Wilson Edwards
Reply:2
Post_ID:829355google ads;cloudflare
Google Ads can be shown if my website is using cloudflare protection ? and next question isCloudflare can protect my websie from Bot Fraud Click on my website Google Ads.My Cloudflare account is free version Cloudflare.Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-28 00:17:59
Wilson Edwards
Reply:4
Post_ID:829354google;reCAPTCHA
I just created reCAPCHA fromg google site athttps://www.google.com/recaptcha/admin/createand following his instruction, created my first reCAPCHA html page such as follows<!DOCTYPE html><html lang="en"><head><script async defer src="https://www.google.com/recaptcha/api.js"></script></head><body><div class="g-recaptcha" data-sitekey="6LcIhOQqAAAAAGbMD-QaT-xjh9VYF87D7w6uMw4n"></div></body></html>The page is successful and show google reCAPCHA, but it will ask me to do image testCan I bypass the image test, just tick the I am not a rebot box only ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-26 04:32:58
Ty Yt
Reply:1
Post_ID:829353Linux apache
As tilte
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-25 04:28:14
Wilson Edwards
Reply:2
Post_ID:829352centos;linux
I am using linux command, host, to check the revserse ip , some is not found but if I am using, online tool, that IP is normal, not abusive ipHow to check the IP is abusive ?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-23 19:30:17
Wilson Edwards
Reply:3
Post_ID:829351香港樓市;Hongkong housing price
Accept
香港樓市, 現在買 Okay ?
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-23 17:06:22
Wilson Edwards
Reply:4
Post_ID:829348google adsense
Accept
my website server is new or small server, recently, just start up my server width Google Adsense ads into my site.DUring, these past 7-day, I get page view not much, but have 50 impression and 20 click dailyI check all my apache log file, those access to my wbesite is not too freqently, butToday Google banned my Google Adsense Account, including this time, Google already banned my site for 5-time.The reason is invalid traffic, I have already followed all rules from GooglePlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-20 15:15:06
su e
Reply:1
Post_ID:829347excel vba 技術趨勢圖陰陽燭
excel vba 技術趨勢圖陰陽燭
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-18 17:05:47
w kk
Reply:3
Post_ID:829345葵芳地鐵站葵涌廣場鋪位
葵芳地鐵站葵涌廣場鋪位
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-18 16:46:59
w kk
Reply:1
Post_ID:829344why we use
as tile
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-18 16:43:41
w kk
Reply:1
Post_ID:829343bitcoin
as title
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-18 16:33:55
w kk
Reply:2
Post_ID:829342as title
Accept
as title
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-15 21:18:40
Wilson Edwards
Reply:7
Post_ID:829340google;adsense;crawler
Accept
I just want disallow Google search indexing engine to access all my files and all my directories except some files such as index.php and music.png and let ads.txt can be crawled by Google Adsense Crawler Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-12 00:53:08
Norton Alex
Reply:1
Post_ID:829260javascript
my question is same as the title And, I search it on internet, the closer one is this link https://stackoverflow.com/questions/3538021/why-do-we-use-base64 Any good article about this topic Regards
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-12 00:48:17
Wilson Edwards
Reply:2
Post_ID:829290window10/11;apache;centos;php;html
Accept
After clicking some Googe Ads and leave the ads site or delete the tab, your browser may forwards you to other site which may give you message such as "Congrulation,! You Get Prize, Bonus, Coupon.etc" Probably your browser is infected by virus and the Congurlation site is hacker /attacker virus site.. I will think the following methods to solve my problem, Please advise those methods are correct 1- Right away or now, remove the forwars site(Congrulation site) or delete such browser Tab 2- Look at this image: https://computer28.com/image/deletecache.jpg Delete or clean your chrome browser data At Chrome browser, Click Sitting->Privacy Security->Delete Browser Data, it will pop up window, in that window, Click Advanced->Select Time Range(All Time)->Tick all box below Time range such as Browsering History..etc. Click Delete Data button 3-If using Window 10, Turn on Microsoft Defender Virus Protection System, always turn it on https://carleton.ca/its/help-centre/how-to-enable-windows-defender-on-personal-pc/ You are better to install Microsoft Window 11 if u are using WIndow 10 4- Add X-Content-Type-Options: nosniff on header at my apache server
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-12 00:32:47
Norton Alex
Reply:3
Post_ID:829339centos;apache;php;html
Accept
as title with the topic tag
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-11 17:12:06
test test
Reply:2
Post_ID:829338centos;linux;A.I.
I would like to stop all A.I. access my website through VPN or TOR browser,How I know the A.I. is accesing into my website pagesPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-11 17:07:11
Wilson Edwards
Reply:1
Post_ID:829291javscript;google_cookie
For latest browser, u can only read cookie value by javascript code. Remove and Update cookie by javascript is very difficult...To read all cookie, u can go to devtool, Mouse Right-click->inspect->Application->Cookieu can see all website cookie u are accessing..You can remove all cookie for the website..by php codingFor example:<?phpif(isset($_SERVER['HTTP_COOKIE'])&&stripos("#".$_SERVER['QUERY_STRING'],'gt=3')>0){$cookies = explode(';', $_SERVER['HTTP_COOKIE']);foreach($cookies as $cookie) {$parts = explode('=', $cookie);$name = trim($parts[0]);setcookie($name, '', time()-1000,'computer28.com');setcookie($name, '', time()-1000, '/','computer28.com');setcookie($name, '', time()-1000,'.computer28.com');setcookie($name, '', time()-1000, '/','.computer28.com');}}if(stripos("#".$_SERVER['QUERY_STRING'],'gt=3')>0){header("location:https://computer28.com"); }?>On address bar with gt=3, it will forward to the main domain site,For update cookie,justsetcookie($name, ''', "the time you want for expire",'computer28.com');Hope it help
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-11 16:38:06
Wilson Edwards
Reply:1
Post_ID:829337google search;SEO
I would like to set requirement to let google seach engine to index all my website pages, just allow some pages of my website can be indexed by Google..How I can setup the system or requirement for the pages selected to be indexed from robots.txt or sitemap ?Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-11 11:25:10
Wilson Edwards
Reply:5
Post_ID:829335hongkong food
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-10 21:49:16
Wilson Edwards
Reply:4
Post_ID:829336centos; bash
Accept
I am using bash linux shell, running ollama serve on CLI console is working, but when it can not work on cron job scheduler, why
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-10 14:17:47
Wilson Edwards
Reply:5
Post_ID:829333php; html;javascript
Accept
In php script, if echo "<a></a>" it render as html elementas we understand it, but when doing in php, $str=htmlentities("<a></a>"); then $str=html_entity_decode($str); $str is not equal to "<a></a>", $str is string. why that is not HTML element
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-09 20:46:03
Wilson Edwards
Reply:3
Post_ID:829332javascript;html5;css
Accept
as title with topic tagPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-09 10:49:51
Wilson Edwards
Reply:1
Post_ID:829325chrome;curl;php;python3.9
Accept
I would like to distinguish between those vistors are A.I. or real human to access my website.For example, some A.I. will use VPN and automaticlly access my website through, for example, curl or other methdos, I would like to block those A.I. auto crwaling IP and trafficPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-09 10:32:17
Wilson Edwards
Reply:1
Post_ID:829324javascript;html5;css
Accept
as title and topic tagPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-07 01:07:31
Wilson Edwards
Reply:0
Post_ID:829299gcc;linux
When upgrade gcc or lib, it will cause issue, and may cause reboot is not working for exmaple: https://blog.csdn.net/qq_39295044/article/details/86685789 su root Password: node: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6) nvm is not compatible with the npm config "prefix" option: currently set to "" Run `nvm use --delete-prefix v16.20.2 --silent` to unset it. For example, running ------------------- node node: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6) Or php php: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by /lib64/libstdc++.so.6) after re-install glibc at /usr/local and run nvm use --delete-prefix v16.20.2 --silent` //for node other issue now ok, php and node but got some error when install python3.9 version rm -f /usr/local/glibc-2.18/build/stubs.h /usr/local/glibc-2.18/build/elf/sln /usr/local/glibc-2.18/build/elf/symlink.list rm -f /usr/local/glibc-2.18/build/elf/symlink.list test ! -x /usr/local/glibc-2.18/build/elf/ldconfig || LC_ALL=C LANGUAGE=C \ /usr/local/glibc-2.18/build/elf/ldconfig \ /lib64 /usr/lib64 LD_SO=ld-linux-x86-64.so.2 CC="gcc -B/usr/bin/" /usr/bin/perl scripts/test-insta llation.pl /usr/local/glibc-2.18/build/ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libm.so: undefined refe rence to `__strtod_nan@GLIBC_PRIVATE' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libm.so: undefined refe rence to `__strtof128_nan@GLIBC_PRIVATE' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libm.so: undefined refe rence to `__strtof_nan@GLIBC_PRIVATE' /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/libm.so: undefined refe rence to `__strtold_nan@GLIBC_PRIVATE' collect2: error: ld returned 1 exit status Execution of gcc -B/usr/bin/ failed! The script has found some problems with your installation! Please read the FAQ and the README file and check the following: - Did you change the gcc specs file (necessary after upgrading from Linux libc5)? - Are there any symbolic links of the form libXXX.so to old libraries? Links like libm.so -> libm.so.5 (where libm.so.5 is an old library) are wrong, libm.so should point to the newly installed glibc file - and there should be only one such link (check e.g. /lib and /usr/lib) You should restart this script from your build directory after you've fixed all problems! Btw. the script doesn't work if you're installing GNU libc not as your primary library! make[1]: *** [install] Error 1 make[1]: Leaving directory `/usr/local/glibc-2.18' make: *** [install] Error 2 Change libm.so link to 2.18 version Make sure glibc, libc.so libm.so is same version
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-07 00:06:18
Wilson Edwards
Reply:6
Post_ID:829297python3;centos;deepseek
Accept
Could not install ollama from python3 install ollama...so try alternative ,using python3 install openai , but easy example python script still not working, , the error is such as AttributeError: module 'ollama' has no attribute 'chat' import ollam //or improt openai response = ollama.chat(model="deepseek-r1", messages=[ { "role":"user", "content":"how center a tag in a div tag by javascript" }, ]) print(response["message"]["content"]) OR next example: import os import openai openai.api_key = ("key") openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": "Hello!"} ] ) print(completion.choices[0].message) // Error AttributeError: module 'ollama' has no attribute 'ChatCompletion' if use comand line ollama, it works > ollama server //need enable port 127.0.0.1:11434 > ollam run deepseek-r1 >>>>"chat" Any Advise ? Try to list all module : print(dir(ollama)) //No any moduel name, chat... Error: Command '['/home/..../venv/bin/python3.x', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1 https://stackoverflow.com/questions/24123150/pyvenv-3-4-returned-non-zero-exit-status-1 Reference: https://cristianzsh.medium.com/installing-and-using-deepseek-ai-c7fd97332e0f https://stackoverflow.com/questions/2927993/where-are-the-python-modules-stored https://pypi.org/project/ollama/ https://python.langchain.com/docs/integrations/chat/ollama/ https://ollama.com/search https://hungchienhsiang.medium.com/error-could-not-find-a-version-that-satisfies-the-requirement-from-pip-install-f542143e705d https://ywctech.net/ml-ai/ollama-first-try/ https://github.com/ollama/ollama-python https://github.com/ollama/ollama
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-05 00:23:20
Wilson Edwards
Reply:1
Post_ID:829298python
Accept
I try to upgrade my python version from 3.6 to 3.9 I also get ,glibc error /lib64/libm.so: undefined reference to `__strtod_nan@GLIBC_PRIVATE' and solved it ....just checked all glibc, libm , libc, all version is matched to , for exmaple.2.18version relink, ln -sfn /lib64/libm-2.18.so libm.so.6 //before is libm-2.31.so not matched https://stackoverflow.com/questions/59578152/undefined-reference-to-strtof128-nanglibc-private after the above error solved, I get other errorat make altinstall, got the errorerror _testembed.c:1767: undefined reference to `__gcov_indirect_call_profiler'just following the instruction as reference link Installation python 3.9 reference: https://phoenixnap.com/kb/how-to-install-python-3-centos-7 https://blog.csdn.net/liuruiaaa/article/details/130890408
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-02 21:48:44
Wilson Edwards
Reply:0
Post_ID:829296virtualbox;macOS;window11
Read this link https://computer28.com/hk/article/install-macos-virtualbox.doc.php
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-01 22:06:35
Wilson Edwards
Reply:0
Post_ID:829288python;javascript;simulation
Basic Concept: https://www.youtube.com/watch?v=IrbJYsep45E&t=663s https://www.youtube.com/watch?v=JOJ5zihcd6Q Google 's Willow Chip for quantum computing: https://www.youtube.com/watch?v=G3o4sPpGWFI https://www.youtube.com/watch?v=FgZ-8NFSysA&t=134s https://www.youtube.com/watch?v=CMO1MEeUcXg Shor's Algorithm: https://www.youtube.com/watch?v=FRZQ-efABeQ https://www.geeksforgeeks.org/shors-factorization-algorithm/ Simulator quantum computing by python: https://github.com/lvillasen/Quantum-Computer-Simulator IBM quantum simulator/platform for public: https://en.wikipedia.org/wiki/IBM_Quantum_Platform (Some region is blocked by IBM,u can use VPN from Chrome VPN Extension) Basic GCD, greatest common divisor: https://en.wikipedia.org/wiki/Greatest_common_divisor How it works: https://www.youtube.com/watch?v=g_IaVepNDT4&t=63s https://www.youtube.com/watch?v=c0D8X4eN_Cg&list=PLnK6MrIqGXsJfcBdppW3CKJ858zR8P4eP https://www.youtube.com/watch?v=XuN6sF8UGSw
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-01 21:42:42
Norton Alex
Reply:1
Post_ID:829295javascript
Accept
my html page calling many javascript file, I worry, some function name will be double or over-written by each other. Any method to prevent this .Please advise;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-02-01 21:15:33
Norton Alex
Reply:2
Post_ID:829294javascript
Accept
I have seen a lot javascript file whcih starting with "!" character before functionWhat is the purpose of that ?For example;!function(x){a=x}()Please advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-01-29 21:04:40
Wilson Edwards
Reply:4
Post_ID:829293javascript;python3;chrome
Visitors or users may open many page of website to get streaming data ,and they want to open many browser tabs to read different data. That will depend on your Laptop or mobile capiblity how can handle many new socket.io to run on multiple tab at the same time, If limited computer resouce or memory, you will be limited for number of browser tabs display.If u use socket with Redis /stream event that allow display directly into html page tab (just type https://yourdomain:5051/stream on address bar) or throught javascript parse data into html page but it may only allow 3 tabs running on the same time.How you can run it on many tabs ?-----------------------------------------------1-You can use localStorage(getItem or setItem) to share information between browser tabOr...you can use2-window.addEventListener('blur', notstream);window.addEventListener('focus', stream);When the user not read or not focus the tag, close the streaming socketio, then Whenthat users want to read it again and focus the tag, reconnect the socket. We know users only can read 1 tag at a time only,function notstrem(){souce.close();//close the socket.io}function stream(){//user focus the tab againrefresh();// re-run that funation u can stream data before}function refresh(){//Redisvar source = new EventSource("https://yourdomainsocket-site.com"+":5051/stream"); source.addEventListener('publish', function(event) {dataextract(event.data);if (typeof ws=='function')ws(event.data);if (typeof updatechart=='function')updatechart(event.data); }, false); source.addEventListener('error', function(event) { }, false);return source;}let source=null;jQuery(document).ready(function($) {console.log("onload");source=refresh();});
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
25-01-23 19:49:42
Wilson Edwards
Reply:5
Post_ID:829292javascript;jquery;php
$(document).click(function(e) { // ####Check for left button if (e.button == 0) { // alert('clicked'); console.log('page......clicking'); checkhitrate('ads_hitrate');//check the document.activeElememnt source such as ifram or <a> tag }else {}});it works but can not detect mouse right click or mouse left click;so try to other code such as followsvar mouseleft=null;document.addEventListener('mousedown', function(event) { switch (event.button) { case 0: mouseleft=1; checkhitrate('ads_hitrate'); console.log('mouse Left button clicked.'); break; case 1: mouseleft=0; console.log('mouse Middle button clicked.'); break; case 2: mouseleft=0; console.log('mouse Right button clicked.'); break; case 3: mouseleft=0; console.log('mouse Browser Back button clicked.'); break; case 4: console.log('Browser Forward button clicked.'); break; default: console.log('Unknown button clicked.'); }});*/it is working ok, but not work if the content area with iframe...so we need use blur as followswindow.addEventListener('blur', notFocused);function notFocused() { localStorage.setItem('focus','0');setTimeout(()=>{$(window).focus();},200);checkhitrate('ads_hitrate');console.log('NOT focused',ia2++);return 0;}and check whether visitor leave current page to forward to other site, use this function becoz we can not idenity it is right or left click.if .onbeforeunload even is triggered it mean it is from left clickwindow.onbeforeunload=function(e){ console.log('hist-onbeforeunload'); localStorage.removeItem("stateHistoryonbeforeunload"); localStorage.setItem("stateHistoryonbeforeunload", 1);}event onbeforeunload should be earlier than checkrate();function checkhitrate(hitrate){ if (hitrate=='ads_hitrate')sendclick();}function sendclick(){if (document.activeElement.src) var tmp=document.activeElement.src ; else tmp=""if (document.activeElement.tagName === "IFRAME"){if (tmp.indexOf('client=ca-pub-')>0){setTimeout(()=>{console.log('notfocused _post3',"stateHistoryonbeforeunload",localStorage.getItem("stateHistoryonbeforeunload"));document.activeElement.blur(); if (localStorage.getItem("stateHistoryonbeforeunload")=="1"){_post3(url,JSON.stringify(obj),fun);localStorage.removeItem("stateHistoryonbeforeunload")}},200);}}Note: every click then clear last document.activeElement by document.activeElement.blur() so next check click will be working again
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
24-12-31 23:06:18
Wilson Edwards
Reply:0
Post_ID:829289economy
https://www.investopedia.com/terms/t/trilemma.asp https://en.wikipedia.org/wiki/Trilemma Example Video: https://www.youtube.com/watch?app=desktop&v=pNlUmPZ1UC4 Any region is only able to do 2 options from the following 3 choices for itseconomy system at the same time, 3 choices: A=Independent monetary policy(獨立自主貨幣政策), B=fixed Exchange Rate(固定匯率) ,C=Free Flow of Capitial(資本自由流動)For example:USA: ACHongkong: BCChina:AB
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
24-11-27 13:34:32
Wilson Edwards
Reply:2
Post_ID:829287yoututbe
Accept
as the title, which online site is the bestPlease advise
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
←
- Underline
- Bold
- Italic
- Indent
- Step
- Bullet
- Quote
- Cut
- Copy
- Paste
- Table
- Spelling
- Find & Replace
- Undo
- Redo
- Link
- Attach
- Clear
- Code
Below area will not be traslated by Google,you can input code or other languages
Hint:If find spelling error, You need to correct it,1 by 1 or ignore it (code area won't be checked).
X-position of the mouse cursor
Y-position of the mouse cursor
Y-position of the mouse cursor
Testcursor
caretPos
Attachment:===
PHP MSSQL > Updating DB entries
Asked by getinked
at 2024-02-16 14:18:36

Point:500 Replies:32 POST_ID:828885USER_ID:11789
Topic:
PHP Scripting Language;Microsoft IIS Web Server;MS SQL Server
Morning Experts,
I have the following script attempting to update fields in my MSSQL table.
I have the following script attempting to update fields in my MSSQL table.
<?php$Shift_Start = $_POST['Shift_Start'];$Shift_End = $_POST['Shift_End'];$Lunch_Start = $_POST['Lunch_Start'];$Lunch_End = $_POST['Lunch_End'];$Agent_ID = $_POST['Agent_ID'];$Update = array($Shift_Start,$Shift_End,&$Agent_ID);$serverName = "---";$connectionInfo = array( "Database"=>"---", "UID"=>"---", "PWD"=>"---");$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn === false) { die( print_r( sqlsrv_errors(), true));}$sql = "UPDATE dbo.Roster SET Shift_Start = ?, Shift_End = ?, WHERE Agent_ID = ?";$stmt = sqlsrv_prepare( $conn, $sql, $Update);if( !$stmt ) { die( print_r( sqlsrv_errors(), true));} if( sqlsrv_execute( $stmt ) === false ) { die( print_r( sqlsrv_errors(), true)); }?>
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:
This works fine when I give the array information to it directly (rather than using the $_POST) but when I try to use $_POST to deliver the information from the previous page it gives me the following error:
Array ( [0] =>" Array ( [0] =>" IMSSP [SQLSTATE] =>" IMSSP [1] =>" -15 'code' =>" -15 [2] =>" An invalid direction for parameter 1 was specified. SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, and SQLSRV_PARAM_INOUT are valid values. [message] =>" An invalid direction for parameter 1 was specified. SQLSRV_PARAM_IN, SQLSRV_PARAM_OUT, and SQLSRV_PARAM_INOUT are valid values. ) )
My form is giving time strings as per the following:
<"td>"<"input name='Shift_Start' type='text' id='Shift_Start' value='".($row['Shift_Start']->"format('H:i:s'))."'>"<"/td>"<"td>"<"input name='Shift_End' type='text' id='Shift_End' value='".($row['Shift_End']->"format('H:i:s'))."'>"<"/td>"<"td>"<"input name='Lunch_Start' type='text' id='Lunch_Start' value='".($row['Lunch_Start']->"format('H:i:s'))."'>"<"/td>"<"td>"<"input name='Lunch_End' type='text' id='Lunch_End' value='".($row['Lunch_End']->"format('H:i:s'))."'>"<"/td>"
1:2:3:4:
And my DB table is as follows:
Hope I have provided enough information, but if not please feel free to ask!
Thanks in advance
Luke
Expert: Dave Baldwin replied at 2024-02-17 16:56:04
Yes it is!! Glad to help!
Expert: Chris Stanyon replied at 2024-02-17 16:06:56
Now that's one happy coder :)
Author: getinked replied at 2024-02-17 16:02:07
Thank you to everyone that assisted in this, Especially Dave for your tremendous assistance and Chris for the Solution!
Author: getinked replied at 2024-02-17 15:58:57
YEEEEEHAAAAA
Awesome! Thank you to both Chris and Dave!
It is working!
Accepted Solution
Expert: Chris Stanyon replied at 2024-02-17 15:36:07
400 points EXCELLENT
Your HTML is naming the fields incorrectly. What we need is: details[agentID][fieldName]
What you have is details[fieldName]agentID
Change your code to this:
What you have is details[fieldName]agentID
Change your code to this:
<td><input name='details[". $row['Agent_ID']. "][Shift_Start]' type='text' value='" . $row['Shift_Start']. "'></td><td><input name='details[". $row['Agent_ID']. "][Shift_End]' type='text' id='Shift_End' value='" . $row['Shift_End']. "'></td><td><input name='details[". $row['Agent_ID']. "][Lunch_Start]' type='text' id='Lunch_Start' value='" . $row['Lunch_Start']. "'></td><td><input name='details[". $row['Agent_ID']. "][Lunch_End]' type='text' id='Lunch_End' value='" . $row['Lunch_End']. "'></td>
1:2:3:4:
You're also including a form on every row of the table - if you want to handle all rows at the same time, then you only need one form - put the opening form tag before your table and the closing form tag after the table.
I'm not overly familiar with the MS SQL library, but normally (at least when using mySQL/PDO), you only need to prepare the SQL statement once. You then execute that prepared statement inside your loop as many times as you need. While your script won't 'break' it is preparing the query over and over again, probably unnecessarily.
Make those changes and give it another whirl
I'm not overly familiar with the MS SQL library, but normally (at least when using mySQL/PDO), you only need to prepare the SQL statement once. You then execute that prepared statement inside your loop as many times as you need. While your script won't 'break' it is preparing the query over and over again, probably unnecessarily.
Make those changes and give it another whirl
Author: getinked replied at 2024-02-17 15:21:24
The Form
<html><head><style>body {font-family:Verdana;font-size:10px;}table {border-collapse:collapse;}th {font-family:Verdana;font-size:10px;text-align:right;padding: 3px;background-color:#3396FF;color:#ffffff;border:1px solid #3396FF;}td {font-family:Verdana;font-size:10px;text-align:right;border-width:thin;border:1px solid #B3B3B3;padding:2px 8px 2px 2px;}</style></head><body ><!--<div id="loading" style="position:absolute; width:100%; text-align:center; top:50px;"><img src="http://ndssl.vbi.vt.edu/gis/dbv/v2.0/images/loading_circle_fully_working.gif" width"50" border="0"></div>--><?phpset_time_limit(10);//Start Tableecho "<p> </p><table id='update' align='center' width='950'>";$server = "---";$connectionInfo = array( "Database"=>"---", "UID"=>"---", "PWD"=>"---" );$conn = sqlsrv_connect( $server, $connectionInfo );$sql = "SELECT * FROM dbo.Roster";$params = array();$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );$stmt = sqlsrv_query( $conn, $sql , $params, $options );$rowC = sqlsrv_num_rows($stmt);echo $rowC;while( $row = sqlsrv_fetch_array( $stmt) ) {echo"<tr><form name='details' action='roster_update_roster.php' method='post'><td>".$row['Agent_Name']."</td><td><input name='details[Shift_Start]". $row['Agent_ID']. "' type='text' value='" . $row['Shift_Start']. "'></td><td><input name='details[Shift_End]". $row['Agent_ID']. "' type='text' id='Shift_End' value='" . $row['Shift_End']. "'></td><td><input name='details[Lunch_Start]". $row['Agent_ID']. "' type='text' id='Lunch_Start' value='" . $row['Lunch_Start']. "'></td><td><input name='details[Lunch_End]". $row['Agent_ID']. "' type='text' id='Lunch_End' value='" . $row['Lunch_End']. "'></td></tr>";}echo "<tr><td colspan='5'><input type='submit' name='Submit' value='Submit'></td></tr></table>";?>
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:38:39:40:41:42:43:44:45:46:47:48:49:50:51:52:53:54:55:56:57:58:59:60:61:62:63:64:65:66:67:68:69:
The Process
<?phpset_time_limit(15);$serverName = "---";$connectionInfo = array( "Database"=>"---", "UID"=>"---", "PWD"=>"---");$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn === false) { die( print_r( sqlsrv_errors(), true));}//var_dump($_POST['details']);$sql = "UPDATE dbo.Roster SET Shift_Start = ( ?), Shift_End = ( ?), Lunch_Start = ( ?), Lunch_End = ( ?) WHERE Agent_ID = ( ?)";foreach ($_POST['details'] as $agentID => $info): echo $agentID; echo $info['Shift_Start']; echo $info['Shift_End']; echo $info['Lunch_Start']; echo $info['Lunch_End'];$stmt = sqlsrv_prepare( $conn, $sql, array(&$info['Shift_Start'],&$info['Shift_End'],&$info['Lunch_Start'],&$info['Lunch_End'],&$agentID)); if( !$stmt ) { die( print_r( sqlsrv_errors(), true));}( sqlsrv_execute( $stmt )); if( sqlsrv_execute( $stmt ) === false ) { die( print_r( sqlsrv_errors(), true)); }endforeach;?>
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:37:
Expert: Chris Stanyon replied at 2024-02-17 15:00:59
Generally in programming, something either works or it doesn't. It doesn't work twice and then fail, unless changes were made to your code after the second run :)
I have no idea what lines 22-27 of your code are!! Can you post your roster_update_roster.php script, along with the part of your HTML code that generates the form fields so we can make sure they tie up.
At least we're making progress :)
I have no idea what lines 22-27 of your code are!! Can you post your roster_update_roster.php script, along with the part of your HTML code that generates the form fields so we can make sure they tie up.
At least we're making progress :)
Author: getinked replied at 2024-02-17 14:48:37
Thanks Chris, It worked... Twice, Then it died...
I am getting this error:
We are so close!
I am getting this error:
Shift_Start
Warning: Illegal string offset 'Shift_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 22
5
Warning: Illegal string offset 'Shift_End' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 23
5
Warning: Illegal string offset 'Lunch_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 24
5
Warning: Illegal string offset 'Lunch_End' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 25
5
Warning: Illegal string offset 'Shift_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 27
Fatal error: Cannot create references to/from string offsets in C:InetpubwwwrootDevelopment oster_update_roster.php on line 27
PHP Warning: Illegal string offset 'Shift_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 22 PHP Warning: Illegal string offset 'Shift_End' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 23 PHP Warning: Illegal string offset 'Lunch_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 24 PHP Warning: Illegal string offset 'Lunch_End' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 25 PHP Warning: Illegal string offset 'Shift_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 27 PHP Fatal error: Cannot create references to/from string offsets in C:InetpubwwwrootDevelopment oster_update_roster.php on line 27
Warning: Illegal string offset 'Shift_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 22
5
Warning: Illegal string offset 'Shift_End' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 23
5
Warning: Illegal string offset 'Lunch_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 24
5
Warning: Illegal string offset 'Lunch_End' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 25
5
Warning: Illegal string offset 'Shift_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 27
Fatal error: Cannot create references to/from string offsets in C:InetpubwwwrootDevelopment oster_update_roster.php on line 27
PHP Warning: Illegal string offset 'Shift_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 22 PHP Warning: Illegal string offset 'Shift_End' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 23 PHP Warning: Illegal string offset 'Lunch_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 24 PHP Warning: Illegal string offset 'Lunch_End' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 25 PHP Warning: Illegal string offset 'Shift_Start' in C:InetpubwwwrootDevelopment oster_update_roster.php on line 27 PHP Fatal error: Cannot create references to/from string offsets in C:InetpubwwwrootDevelopment oster_update_roster.php on line 27
We are so close!
Expert: Chris Stanyon replied at 2024-02-17 04:27:11
When you're submitting rows of form field like this, you can make your life a whole lot easier by naming your form fields correctly. This means using an array for the names, and the easiest way to loop through your records in a PHP script is to name then something like this:
details[agentID][Shift_Start]
details[agentID][Shift_End]
details[agentID][Lunch_Start]
details[agentID][Lunch_End]
In your form building script, use something like this:
details[agentID][Shift_Start]
details[agentID][Shift_End]
details[agentID][Lunch_Start]
details[agentID][Lunch_End]
In your form building script, use something like this:
<tr><td><input name='details[" . $row['Agent_ID'] . "][Shift_Start]' type='text' value='" . $row['Shift_Start']->format('H:i:s') . "'></td><td><input name='details[" . $row['Agent_ID'] . "][Shift_End]' type='text' id='Shift_End' value='" . $row['Shift_End']->format('H:i:s') . "'></td><td><input name='details[" . $row['Agent_ID'] . "][Lunch_Start]' type='text' id='Lunch_Start' value='" . $row['Lunch_Start']->format('H:i:s') . "'></td><td><input name='details[" . $row['Agent_ID'] . "][Lunch_End]' type='text' id='Lunch_End' value='" . $row['Lunch_End']->format('H:i:s') . "'></td></tr>
1:2:3:4:5:6:
Then when the whole form is posted, you have a POST key called 'details' that you can loop through:
foreach ($_POST['details'] as $agentID => $info): echo $agentID; echo $info['Shift_Start']; echo $info['Shift_End']; echo $info['Lunch_Start']; echo $info['Lunch_End']; //execute your Update in here :)endforeach;
1:2:3:4:5:6:7:8:
Expert: Dave Baldwin replied at 2024-02-16 21:41:35
Your 'sqlsrv_prepare' statement needs to be inside the loop but the $sql doesn't. That's because the 'sqlsrv_prepare' function tries to 'bind' the variable to the SQL statement variables. That not what you want here because the variables for the different rows are not in the 'same place' that the '&' pass-by-reference wants them to be.
Author: getinked replied at 2024-02-16 20:14:04
Hi Guys,
So it looks like I have worked it out almost.
the following is working for the first record in the array:
So it looks like I have worked it out almost.
the following is working for the first record in the array:
<?php$Shift_Start =($_POST['Shift_Start']);$Shift_End =($_POST['Shift_End']);$Lunch_Start =($_POST['Lunch_Start']);$Lunch_End =($_POST['Lunch_End']);$Agent_ID =($_POST['Agent_ID']);$Update = array($Shift_Start[0], $Shift_End[0], $Lunch_Start[0], $Lunch_End[0]);$serverName = "---";$connectionInfo = array( "Database"=>"---", "UID"=>"---", "PWD"=>"---");$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn === false) { die( print_r( sqlsrv_errors(), true));}$sql = "UPDATE dbo.Roster SET Shift_Start = ( ?), Shift_End = ( ?), Lunch_Start = ( ?), Lunch_End = ( ?)";$stmt = sqlsrv_prepare( $conn, $sql, array(&$Update[0],&$Update[1],&$Update[2],&$Update[3])); if( !$stmt ) { die( print_r( sqlsrv_errors(), true));}( sqlsrv_execute( $stmt )); if( sqlsrv_execute( $stmt ) === false ) { die( print_r( sqlsrv_errors(), true)); }?>
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:36:
What I need to do now is get the update to loop through the available results.
I think i need to get the following to increment by one for every result (or row counted), what are your thoughts?
Author: getinked replied at 2024-02-16 19:50:47
Thanks Dave, I do want all of the rows to appear, not sure this is going to resolve my issue.
Assisted Solution
Expert: Dave Baldwin replied at 2024-02-16 19:37:26
100 points EXCELLENT
You're getting all of the data in part because every form has the same name. And since each item is an array, you're getting an error message. If you used 'foreach' to separate them into 'sets' of variables, you could do a loop that would update each row that way.
If you used a counter ($formcnt) and added it to the name of the form, then you should get only the row with that submit button instead of all of them.
If you used a counter ($formcnt) and added it to the name of the form, then you should get only the row with that submit button instead of all of them.
$formcnt++;echo"<tr><form name='update$formcnt' action='roster_update_roster.php' method='post'>
1:2:3:
There are other things you can do to separate the rows.
Author: getinked replied at 2024-02-16 18:24:22
This may make more sense...
When I click on Submit, I expect only the 1 set of results to flow to the next page
ie; if i Select the first row, only the changes for "Luke Chilcott" should come through but as you can see from the var_dump I am getting all fields from all agents.
*note* It would be AWESOME if I could have a single submit to change all fields for all agent, in case that is easier.
Here is the Screen shot I have put together to show the issue in more detail...
When I click on Submit, I expect only the 1 set of results to flow to the next page
ie; if i Select the first row, only the changes for "Luke Chilcott" should come through but as you can see from the var_dump I am getting all fields from all agents.
*note* It would be AWESOME if I could have a single submit to change all fields for all agent, in case that is easier.
Here is the Screen shot I have put together to show the issue in more detail...
Author: getinked replied at 2024-02-16 18:02:25
array(5) { [0]=> string(8) "09:00:00" [1]=> string(8) "08:30:00" [2]=> string(8) "08:30:00" [3]=> string(8) "08:30:00" [4]=> string(8) "08:30:00" } array(5) { [0]=> string(8) "17:00:00" [1]=> string(8) "17:00:00" [2]=> string(8) "17:00:00" [3]=> string(8) "17:00:00" [4]=> string(8) "17:00:00" } array(5) { [0]=> string(8) "12:30:00" [1]=> string(8) "12:30:00" [2]=> string(8) "12:30:00" [3]=> string(8) "12:30:00" [4]=> string(8) "12:30:00" } array(5) { [0]=> string(8) "13:29:00" [1]=> string(8) "13:29:00" [2]=> string(8) "13:29:00" [3]=> string(8) "13:29:00" [4]=> string(8) "13:29:00" } array(5) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" [4]=> string(1) "5" }
Expert: Dave Baldwin replied at 2024-02-16 17:53:04
Show me the dump. If, for example, $_POST['Shift_Start'] was actually an array itself, then I can see where it would cause a problem.
Author: getinked replied at 2024-02-16 17:45:54
Hi guys, I think I have found the issue (or part there of...)
I added "Var_Dump" to my roster_update_roster.php and found that I am getting mutliple results from the form page...
Any ideas?
I added "Var_Dump" to my roster_update_roster.php and found that I am getting mutliple results from the form page...
Any ideas?
Author: getinked replied at 2024-02-16 17:30:22
Do you need something more from me?
Expert: Dave Baldwin replied at 2024-02-16 17:27:03
That tells me you're using SQL Server 2008 (32-bit) and the SQL Native client that came with it. Nothing else yet.
Author: getinked replied at 2024-02-16 16:06:10
Dave:
PHP Version 5.4.9
Windows NT --- 5.2 build 3790
(Windows Server 2003 R2 Standard Edition Service Pack 2) i586
SQLServerVersion: 10.00.1600
Does that help?
PHP Version 5.4.9
Windows NT --- 5.2 build 3790
(Windows Server 2003 R2 Standard Edition Service Pack 2) i586
SQLServerVersion: 10.00.1600
Does that help?
Expert: Dave Baldwin replied at 2024-02-16 15:58:13
What Windows version? What PHP version? SQLSRV2 or SQLSRV3? I am using SQL Server Native Client 10.0 also.
Author: getinked replied at 2024-02-16 15:52:10
Dave
Yep here is is, just tried it again to be sure:
Yep here is is, just tried it again to be sure:
$stmt = sqlsrv_prepare( $conn, $sql, array(&$Shift_Start, &$Shift_End, &$Agent_ID)); if( !$stmt ) { die( print_r( sqlsrv_errors(), true));
1:2:3:
Error:
Warning: Variable parameter 1 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value. For more information, see sqlsrv_prepare or sqlsrv_query in the API Reference section of the product documentation. in C:InetpubwwwrootDevelopment oster_update_roster.php on line 25
Warning: Variable parameter 2 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value. For more information, see sqlsrv_prepare or sqlsrv_query in the API Reference section of the product documentation. in C:InetpubwwwrootDevelopment oster_update_roster.php on line 25
Array ( [0] => Array ( [0] => 07002 [SQLSTATE] => 07002 [1] => 0 "code" => 0 [2] => [Microsoft][SQL Server Native Client 10.0]COUNT field incorrect or syntax error [message] => [Microsoft][SQL Server Native Client 10.0]COUNT field incorrect or syntax error ) ) PHP Warning: Variable parameter 1 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value. For more information, see sqlsrv_prepare or sqlsrv_query in the API Reference section of the product documentation. in C:InetpubwwwrootDevelopment oster_update_roster.php on line 25 PHP Warning: Variable parameter 2 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value. For more information, see sqlsrv_prepare or sqlsrv_query in the API Reference section of the product documentation. in C:InetpubwwwrootDevelopment oster_update_roster.php on line 25
Expert: Dave Baldwin replied at 2024-02-16 15:47:34
Are you sure you copied my post? Because it does not create an error on this machine. Note the '&' in front of the variable names. The '&' is necessary because this function 'binds' the SQL variables to the PHP variables. That means that if the value of the PHP variables changes, those changes are 'automatically' picked up the SQL execute statement (for the duration of this script).
$stmt = sqlsrv_prepare( $conn, $sql, array(&$Shift_Start, &$Shift_End, &$Agent_ID));
1:
Expert: duncanb7 replied at 2024-02-16 15:43:07
Digesting it.sorry about that At the beginning I thought the form is from html code . now it
is shown on php code that is why it works for value='".($row['Agent_ID'])."' on php code
not html and not javascript code.
Duncan
is shown on php code that is why it works for value='".($row['Agent_ID'])."' on php code
not html and not javascript code.
Duncan
Author: getinked replied at 2024-02-16 15:37:54
Duncan
This is the Form:
This is the Form:
<?phpset_time_limit(10);//Start Tableecho "<p> </p><table id='update' align='center' width='950'>";$server = "---";$connectionInfo = array( "Database"=>"---", "UID"=>"---", "PWD"=>"---" );$conn = sqlsrv_connect( $server, $connectionInfo );$sql = "SELECT * FROM dbo.Roster";$params = array();$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );$stmt = sqlsrv_query( $conn, $sql , $params, $options );$row_count = sqlsrv_num_rows( $stmt );while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {echo"<tr><form name='update' action='roster_update_roster.php' method='post'><td><input name='Agent_ID' type='text' id='Agent_ID' readonly value='".($row['Agent_ID'])."'></td><td>".$row['Agent_Name']."</td><td><input name='Shift_Start' type='text' id='Shift_Start' value='".($row['Shift_Start']->format('H:i:s'))."'></td><td><input name='Shift_End' type='text' id='Shift_End' value='".($row['Shift_End']->format('H:i:s'))."'></td><td><input name='Lunch_Start' type='text' id='Lunch_Start' value='".($row['Lunch_Start']->format('H:i:s'))."'></td><td><input name='Lunch_End' type='text' id='Lunch_End' value='".($row['Lunch_End']->format('H:i:s'))."'></td><td><input type='submit' name='Submit' value='Submit'></td></tr>";}echo "</tr></table>";?>
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:
This is the "roster_update_roster.php" processing file
<?php$Shift_Start = $_POST['Shift_Start'];$Shift_End = $_POST['Shift_End'];$Lunch_Start = $_POST['Lunch_Start'];$Lunch_End = $_POST['Lunch_End'];$Agent_ID = $_POST['Agent_ID'];$Update = array(&$Shift_Start,&$Shift_End,&$Agent_ID);$serverName = "---";$connectionInfo = array( "Database"=>"---", "UID"=>"---", "PWD"=>"---");$conn = sqlsrv_connect( $serverName, $connectionInfo);if( $conn === false) { die( print_r( sqlsrv_errors(), true));}$sql = "UPDATE dbo.Roster SET Shift_Start = ?, Shift_End = ? WHERE Agent_ID = ?";$stmt = sqlsrv_prepare( $conn, $sql, array( $Shift_Start, $Shift_End, &$Agent_ID)); if( !$stmt ) { die( print_r( sqlsrv_errors(), true));} if( sqlsrv_execute( $stmt ) === false ) { die( print_r( sqlsrv_errors(), true)); }?>
1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:
Author: getinked replied at 2024-02-16 15:34:59
Dave
Updated as per your post, Error as follows:
Warning: Variable parameter 1 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value. For more information, see sqlsrv_prepare or sqlsrv_query in the API Reference section of the product documentation. in C:InetpubwwwrootDevelopment oster_update_roster.php on line 23
Warning: Variable parameter 2 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value. For more information, see sqlsrv_prepare or sqlsrv_query in the API Reference section of the product documentation. in C:InetpubwwwrootDevelopment oster_update_roster.php on line 23
Updated as per your post, Error as follows:
Warning: Variable parameter 1 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value. For more information, see sqlsrv_prepare or sqlsrv_query in the API Reference section of the product documentation. in C:InetpubwwwrootDevelopment oster_update_roster.php on line 23
Warning: Variable parameter 2 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value. For more information, see sqlsrv_prepare or sqlsrv_query in the API Reference section of the product documentation. in C:InetpubwwwrootDevelopment oster_update_roster.php on line 23
Expert: duncanb7 replied at 2024-02-16 15:30:42
Thanks for your reply.
What is Agent_ID's value in your form input tag that doesn't show in your post ?
Could you talk more information of Agent_ID ?
And at input tag
<input name='Shift_Start' type='text' id='Shift_Start' value='".($row['Shift_Start']->format('H:i:s'))."'>
($row['Shift_Start']->format('H:i:s')) from which how it works ? could you post your format()
function code to us ?
please check whether The number OR string type of variable parameter in $sql is not matched to $update or not ?
If send us the full html and php code(not just partial) , that will be easier for us
Duncan
What is Agent_ID's value in your form input tag that doesn't show in your post ?
Could you talk more information of Agent_ID ?
And at input tag
<input name='Shift_Start' type='text' id='Shift_Start' value='".($row['Shift_Start']->format('H:i:s'))."'>
($row['Shift_Start']->format('H:i:s')) from which how it works ? could you post your format()
function code to us ?
please check whether The number OR string type of variable parameter in $sql is not matched to $update or not ?
If send us the full html and php code(not just partial) , that will be easier for us
Duncan
Expert: Dave Baldwin replied at 2024-02-16 15:30:05
Try using it this way and let me know what happens.
$stmt = sqlsrv_prepare( $conn, $sql, array( &$Shift_Start, &$Shift_End, &$Agent_ID));
1:
Author: getinked replied at 2024-02-16 15:25:09
Thanks Dave, I also fount that very confusing!
I had been over that recourse several times with no joy.
As I mentioned, I know that the array is fine, and the update is correct, For some reason though, When i try to $_POST the data for the update it falls over!
I had been over that recourse several times with no joy.
As I mentioned, I know that the array is fine, and the update is correct, For some reason though, When i try to $_POST the data for the update it falls over!
Author: getinked replied at 2024-02-16 15:23:41
Thanks Duncan, User is submitting as 18:06:03 and this works if i don't transmit the output with $_POST.
The reason for the &$Agent_ID is because this is the only way to pass the ID, not sure why, but in the array this is the only way it is accepted, when I remove the & i get the following error:
Variable parameter 3 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value.
The reason for the &$Agent_ID is because this is the only way to pass the ID, not sure why, but in the array this is the only way it is accepted, when I remove the & i get the following error:
Variable parameter 3 not passed by reference (prefaced with an &). Variable parameters passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value.
Expert: duncanb7 replied at 2024-02-16 14:58:12
Dear getinked,
What is format that user input Shift_Start, Shift_End,Lunch_Start,Lunch_End, for example,
they will input 18:06:03 at input tag, Right ? Or in time stamp format ?
You better do javascript time format convention before submit the form to yourform.com,
If the input is in time stamp format , you need javascript function of toHHMMSS to convert the input value to H:i:s format. I mean convert it using format() and then submit
the form to http://your form.com, for just example only and not tested as follows
and please read the link for onsubmit at http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_form_onsubmit
<form method="post" action="http://yourform.com" onsubmit="format();">......</form>
function format(){
$("#Start_Start).val($("#Start_Start).val().toHHMMSS());
$("#Start_End).val($("#Start_End).val().toHHMMSS());
$("#Lunch_Start).val($("#Lunch_Start).val().toHHMMSS());
$("#Lunch_End).val($("#Lunch_End).val().toHHMMSS());
String.prototype.toHHMMSS = function () {
var sec_num = parseInt(this, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
var time = hours+':'+minutes+':'+seconds;
return time;
}
}
Or if what I said that is not correct above, it might be whether it is related
to sqlsrv_prepare( $conn, $sql, $Update) ?
The number OR string type of variable parameter in $sql is not matched to $update ?
and what is "&" in &Agent_ID in array of $Update=array($Shift_Start,$Shift_End,&$Agent_ID); ?
Hope understand your question completely, if not please pt it out .
Give us more detail that will help on it
Duncan
What is format that user input Shift_Start, Shift_End,Lunch_Start,Lunch_End, for example,
they will input 18:06:03 at input tag, Right ? Or in time stamp format ?
You better do javascript time format convention before submit the form to yourform.com,
If the input is in time stamp format , you need javascript function of toHHMMSS to convert the input value to H:i:s format. I mean convert it using format() and then submit
the form to http://your form.com, for just example only and not tested as follows
and please read the link for onsubmit at http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_form_onsubmit
<form method="post" action="http://yourform.com" onsubmit="format();">......</form>
function format(){
$("#Start_Start).val($("#Start_Start).val().toHHMMSS());
$("#Start_End).val($("#Start_End).val().toHHMMSS());
$("#Lunch_Start).val($("#Lunch_Start).val().toHHMMSS());
$("#Lunch_End).val($("#Lunch_End).val().toHHMMSS());
String.prototype.toHHMMSS = function () {
var sec_num = parseInt(this, 10); // don't forget the second param
var hours = Math.floor(sec_num / 3600);
var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
var seconds = sec_num - (hours * 3600) - (minutes * 60);
if (hours < 10) {hours = "0"+hours;}
if (minutes < 10) {minutes = "0"+minutes;}
if (seconds < 10) {seconds = "0"+seconds;}
var time = hours+':'+minutes+':'+seconds;
return time;
}
}
Or if what I said that is not correct above, it might be whether it is related
to sqlsrv_prepare( $conn, $sql, $Update) ?
The number OR string type of variable parameter in $sql is not matched to $update ?
and what is "&" in &Agent_ID in array of $Update=array($Shift_Start,$Shift_End,&$Agent_ID); ?
Hope understand your question completely, if not please pt it out .
Give us more detail that will help on it
Duncan
Expert: Dave Baldwin replied at 2024-02-16 14:49:50
The problem is with passing an array as the data for the sqlsrv_prepare function. This page http://us1.php.net/manual/en/function.sqlsrv-prepare.php shows an array structure but frankly, I find it confusing when compared to their example.