furyanaor פורסם 2015 בנובמבר 16 Share פורסם 2015 בנובמבר 16 לא והלך לי, אני רוצה להציג ערך מתוך NUM בטבלה cunter של הSQL שלי(יש שם רק עמודה אחת בלבד ID=0, ככה שזה אמור להיות ממש פשוט)את התצוגה דווקא הצלחתי לעשותרק המקש לא עובד לי, אני רוצה שהכפתור שם יעשה לי +1 לערך המספרי של NUM.אני צריך את זה בfuntion jscript ...מה לא בסדר ?!<html><script> function update() { <?php mysqli_query($conn, "UPDATE counter SET num=5 WHERE id=0"); mysqli_close($conn);?> }</script><body><?php$servername = "mysql.hostinger.co.uk";$username = "41232133_db";$password = "1231321356";$dbname = "12303123_db";$conn = new mysqli($servername, $username, $password, $dbname);$sql = "SELECT num FROM counter WHERE id=0";$result = $conn->query($sql); while($row = $result->fetch_assoc()) { echo "Downloads: <input type='numbers' size=1 value=". $row["num"].">";echo "clickingtest <button onclick='update()'>update</button>"; }$conn->close();?> </body></html> קישור לתוכן שתף באתרים אחרים More sharing options...
etal פורסם 2015 בנובמבר 16 Share פורסם 2015 בנובמבר 16 יש לך חוסר הבנה של מבנה המערכת- פונקציית js רצה מקומית אצל המשתמש בדפדפן- קוד php רץ אצלך בשרתאתה לא יכול להריץ ישירות php בתוך פונקציית js, אתה צריך שפונקציית ה-js תתקשר עם השרת ותגיד לו להריץ את קוד ה-php קישור לתוכן שתף באתרים אחרים More sharing options...
furyanaor פורסם 2015 בנובמבר 16 מחבר Share פורסם 2015 בנובמבר 16 זהו שאני לא באמת מבין בזה, אני מנסה ללמוד על ידי ניסוי וטעייה באמצעות גזרי קוד שאני מוצא ומחר אי שם ברשת.פה הוא עשה בדיוק את זה:http://stackoverflow.com/questions/23298974/update-sql-table-with-button-clickאבל לא הצלחתי לממש שם את הרעיון כמו שצריך.לא משנה, אני אסביר את עצמי קצת יותר לעומק אולי אפשר להסתדר בקלות יתרה -אני בסך הכל רוצה חלון שמציג את מספר ההורדות לקובץ.הקישור שעשיתי הוא מאוד מרוכב עם כמה תמונות מתחלפות וסקריפט לניגון סאונד ועוד כמה שטויות לכן חשבתי שאת הפעולה של +1 יהיה קל יותר להדביק להצמיד אליו באמצעות JS.כרגע העפתי את כל עניין הJS מהקוד הקודם, כעט הוא מציג את חלון מספר ההורדות הנוכחי שנמשך מהטבלה.איך אני עושה מקש +1 בצורה הכי פשוטה בעולם??הקוד שאני צריך זה בעצם (או משהו כזה?!):"UPDATE counter SET num=$num+1 WHERE id=0"וזה האתר:<html><body><?php$servername = "32131321";$username = "3213321";$password = "12132136";$dbname = "321321313";$conn = new mysqli($servername, $username, $password, $dbname);$sql = "SELECT num FROM counter WHERE id=0";$result = $conn->query($sql); while($row = $result->fetch_assoc()) { echo "Downloads: <input type='numbers' size=1 value=". $row["num"].">"; }$conn->close();?> </body></html> קישור לתוכן שתף באתרים אחרים More sharing options...
yonizaf פורסם 2015 בנובמבר 16 Share פורסם 2015 בנובמבר 16 פה הוא עשה בדיוק את זה:http://stackoverflow.com/questions/23298974/update-sql-table-with-button-clickאבל לא הצלחתי לממש שם את הרעיון כמו שצריך.נכון, בלינק שהבאת שואל השאלה ניסה בדיוק את מה שניסית, וזה באמת לא עבד לו. לכן הוא שאל את השאלה - וענו לו בדיוק מה שענו לך.העניין הוא שקוד הPHP שבדף רץ בדיוק פעם אחת - לפני שהוא מוצג. היות שאתה יכול לבצע שינוי לטבלה אך ורק מPHP (ולא באמצעות JS בלבד), אתה צריך שקוד PHP נוסף ירוץ, וזה אפשרי אך ורק בטעינת דף נוספת. כלומר אתה צריך (באמצעות JS או באמצעים אחרים) שהדף יטען מחדש או שיטען דף נוסף במקביל (לא חייב להיות מוצג) כדי לבצע את הפעולה הזו.דוגמה גסה למדי, כדי להבהיר את הרעיון:<?php$servername = "32131321";$username = "3213321";$password = "12132136";$dbname = "321321313";$conn = new mysqli($servername, $username, $password, $dbname);if ($_GET['up'] == '1'){ mysqli_query($conn, "UPDATE counter SET num = num + 1 WHERE id = 0");}$sql = "SELECT num FROM counter WHERE id=0";$result = $conn->query($sql);while($row = $result->fetch_assoc()) {echo "Downloads: <input type='numbers' size=1 value=". $row["num"].">";}$conn->close();?><a href="?up=1">add 1</a> קישור לתוכן שתף באתרים אחרים More sharing options...
furyanaor פורסם 2015 בנובמבר 17 מחבר Share פורסם 2015 בנובמבר 17 כן לקח לי קצת זמן אבל הסוף הבנתי למה הוא התכוון.זה בדיוק מה שרציתי. שכללתי והוספתי עמוד נוסף update.php שאליו הפונקציה מתקשרת וזה עובד מצוין.תודה על העזרה זה לא מובן מאילו! עכשיו יש לי בעיה קטנה בקובץ החדש, הוא לא מצליח למשוך את הערך המספרי מהעמוד הקודם בעזרת הקוד$_POST['num'] הוא פשוט מציב לי 0 במקום את הערך מהטבלה ואז הוא ודפק לי 0+1=1 ודורס את מה שהיה בטלבה.למה הוא למצליח לייבא את הנתון הנכון?לא יודע מה נדפק עם הפורום הוא לא נותן לי להעלות את הקוד שלי לפה, הנה update.php בקישור חיצוני מתנצל על אי הנוחות עמכם הסליחה =]https://drive.google.com/file/d/0Bwj2vfN_VGZMRXRfYWxCMXZ1Rlk/view קישור לתוכן שתף באתרים אחרים More sharing options...
yonizaf פורסם 2015 בנובמבר 17 Share פורסם 2015 בנובמבר 17 למה אתה רוצה להעביר את הערך דרך הPOST? אם הבנתי נכון ואתה בסך הכל רוצה לקדם את הערך בטבלה ב1, אין שום צורך להעביר ערכים לשום מקום, אתה יכול לעשות את זה בתוך הSQL ישר, כמו בדוגמה שהבאתי:mysqli_query($conn, "UPDATE counter SET num = num + 1 WHERE id = 0"); קישור לתוכן שתף באתרים אחרים More sharing options...
furyanaor פורסם 2015 בנובמבר 17 מחבר Share פורסם 2015 בנובמבר 17 חחח אתה שואל למה כאילו שאני יודע תודה רבה זה עובד כמצופה ואפילו מצוין ! רק האם יש אפשרות כל שהיא לעדכן בעמוד הקודם את הנתון המוצג בחלונית input מבלי לעשות ריפרש? (זה שמגיע לפני השיגור לupdate.php) ודבר אחרון שהוא וודאי קצת מסובך יותר אבל זה רק לשם הלמידה זה למעשה download counter ולא סתם click counter כמו שזה יצא. חשבתי ליצור בטבלה עמודה של user ולמלא אותה בנתוני Mac address (או אם זה לא אפשרי אז ip לחלופין). כך שכשהמקש נלחץ, מתבצע חיפוש IP בטבלת USER ואם אין רשומה, תוסף אחת כזו והקאונטר שלנו יקבל +1. במידה ויש רשומה אודות user כשזה, הקאונטר יישאר כמו שהוא. קישור לתוכן שתף באתרים אחרים More sharing options...
etal פורסם 2015 בנובמבר 17 Share פורסם 2015 בנובמבר 17 יש דרך לעדכן את העמוד בלי refresh אבל בשביל זה צריך להשתמש בקוד js בתוך הדף. ה-js צריך לשלוח קריאה לשרת עם מנגנון שנקרא ajax ואז לעדכן את הערך בתוך ה-html, ההמלצה שלי היא להשתמש בספרייה כמו jQuery כדי לפשט את העניינים. קישור לתוכן שתף באתרים אחרים More sharing options...
furyanaor פורסם 2015 בנובמבר 17 מחבר Share פורסם 2015 בנובמבר 17 הבנתי את העיקרון, אני בדיוק הגעתי לאילוץ בשימוש jQuery אם אני אסתדר עם זה אני ארענן את השימוש הישן בJSCRIPT ואלמד איך עושים דבר שכזה בינתיים אני מניח לזה. יותר מעניין הנושא של הIP, אני חושב שזו לא בעיה גדולה מידיי לקחת נתונים מהמשתמש ולהזין אותם בטבלה, לא ? קישור לתוכן שתף באתרים אחרים More sharing options...
etal פורסם 2015 בנובמבר 17 Share פורסם 2015 בנובמבר 17 כן השרת שלך יכול לקרוא את ה-IP ממנו הגיע הבקשה ולהכניס את זה לטבלה, את כתובת ה-Mac אתה לא יכול לקבל. לזהות את המשתמשים בעזרת IP זה לא דרך מקובלת בעולם האמיתי אבל לצרכי לימוד זה יעבוד. קישור לתוכן שתף באתרים אחרים More sharing options...
furyanaor פורסם 2015 בנובמבר 18 מחבר Share פורסם 2015 בנובמבר 18 מממ הייתי בטוח שMAC זה מה שעובד בעולם האמיתי אבל אתה אומר שלא ניתן לנטר אותו.מה כן? אייפי נשמע לי קצת תמוהה. ובנוגע לקוד, כיצד מושכים את הIP של הקליינט ומאחסנים בתור משתנה בטבלה ? יש לך שורה וחצי בשלוף או שזה סקריפטים עד להודעה חדשה ?<והתנאי IF שאנחנו מדברים עליו יכול להיעשות כאן באמצעות שימוש פשוט ב JSCRIPT ? קישור לתוכן שתף באתרים אחרים More sharing options...
etal פורסם 2015 בנובמבר 19 Share פורסם 2015 בנובמבר 19 בדרך כלל משתמשים ב-cookies כדי לזהות משתמשים. ip לא משמש לזיהוי כי הוא לא קבוע (אני משתמש במחשב נייד, ה-IP שלי בבית ובמשרד הוא שונה) והוא לא חד ערכי (לכל האנשים במשרד אותו ip חיצוני).לקרוא ip ב-PHP$ip = $_SERVER['REMOTE_ADDR']; קישור לתוכן שתף באתרים אחרים More sharing options...
furyanaor פורסם 2015 בנובמבר 22 מחבר Share פורסם 2015 בנובמבר 22 אוקיי, ואם בא לי קוקיז, איך ? הרבה יותר מסובך ?? קישור לתוכן שתף באתרים אחרים More sharing options...
Recommended Posts
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.