הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 28-08-09, 18:41   # 1
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

עזרה| השלמת ההרשמה לאחר ביצוע בדיקה לטופס.

שלום.
יצרתי טופס הרשמה, הכל פועל מעולה.
החטתי לשפר אותו לעשות בדיקה בJS.
הפונקציה פועלת על ידי onsubmit="return validate();
עכשיו בקוד הישן עשיתי בדיקה אם הכפתור submit נלחץ תכניס את הפרטים, כרגע אני לא יכולה לעשות את זה, כי אני צריך לוודאות שאין בעיות בטופס והכל true.
לצורך הבנה ניד וזהו הדף שלי:


PHP קוד:
<html>
<head>
<title>Untitiled</title>
<script>
function validate()
{
    document.getElementById('first_name_error').innerHTML = "";
    document.getElementById('last_name_error').innerHTML = "";
    var val = true;
    
    var fName = document.frm.first_name.value;
    if(fName.length < 3)
    {
        document.getElementById('first_name_error').innerHTML = "Enter first name please.";
        document.frm.first_name.style.border = "red 1px solid";
        val = false;
    }
    var lName = document.frm.last_name.value;
    if(lName.length < 3)
    {
        document.getElementById('last_name_error').innerHTML = "Enter last name please.";
        document.frm.last_name.style.border = "red 1px solid";
        val = false;
    }
    return val;
}
</script>
</head>
<body>

        <form name="frm" id="frm" onsubmit="return validate();">
        <table id="registertable" cellpadding="10">
                <tr>
                <td align="left">
                <span class="field">First name:</span>
                        </td>
                        <td align="left">
                        <input type="text" name="first_name" id="first_name" />
                            <div id="first_name_error" style="display:inline; font-family:arial; color:red;"></div>
                        </td>
                </tr>
                <tr>
                <td align="left">
                <span class="field">Last name:</span>
                        </td>
                        <td align="left">
                        <input type="text" name="last_name" id="last_name">
                        <div id="last_name_error" style="display:inline; font-family:arial; color:red;"></div>
                        </td>
                </tr>    
                    <td></td>
                    <td><input type="submit" value="Submit" />&nbsp;
                        <input type="reset" value="Reset" /></td>
                </tr>
            </table>
        </form>
        </div>
</body>
</html>

<?php

mysql_connect
("localhost""root""");
mysql_select_db("phpmyadmin");


$first_name=$_POST['user_name'];
$last_name=$_POST['last_name'];

mysql_query("INSERT INTO users (first_name, last_name) VALUES ('$first_name', '$last_name')");
echo 
"נרשמת בהצלחה!";

?>
איך אני מפעיל את הקוד ב php רק במידה ולא נמצאו שגיאות בטופס והמשתנה val האחרון הוא אכן true?

חושב שהבנתם אותי.

תודה רבה ושבת שלום.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 28-08-09, 19:31   # 2
anti
חבר על
 
מיני פרופיל
תאריך הצטרפות: Jul 2006
הודעות: 901

anti לא מחובר  

if $_POST['submit']== "Submit"
תוסיף תIF הזה בהתחלה
  Reply With Quote
ישן 28-08-09, 19:54   # 3
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

עשיתי דבר כזה, עדיין, כי זה שה submit נלחץ, לא אומר שהטופס תקין.

אשמח לעוד הצעות, תודה (:
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 29-08-09, 07:35   # 4
sholaman
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 323

sholaman לא מחובר  

זה שאתה עושה בדיקות תקינות בJS זה יפה מאוד וזה טוב מאוד אבל רק בשביל הMMI (נוחות של המשתמש)
אתה לא יכול בחיים להסתמך על בדיקות תקינות בJS מכיוון שדבר ראשון לא כל הדפדפנים תומכים בJS,
דבר שני JS רץ אצל הלקוח ככה שהוא יכול להחליט לא להריץ אותו ויכול אפילו לשנות את הקוד שרץ אצלו בלי שום בעיה.

ככה שגם אם אתה עושה מליון בדיקות בJS אתה עדיין חייב לעשות בדיקה שהשרת עצמו יבדוק את הנתונים, PHP.

בהצלחה.
__________________
  Reply With Quote
ישן 29-08-09, 10:46   # 5
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

ברור שאני יעשה, אבל לאט לאט, קודם שיכניס את הנתונים.
הקוד לא עובד, מה לא טוב בקוד?
עזרה בבקשה

עריכה: הצלחתי, עשיתי דבר כזה:

PHP קוד:

if(isset($_POST['submit']) && (val==true))
{
mysql_query("INSERT INTO users (first_name, last_name) VALUES ('$first_name', '$last_name')");
echo 
"נרשמת בהצלחה!";

זה נכון לעשות?
ה val הוא מהג'אווה סקריפט, אבל זה משום מה עובד, זה בסדר?

תודה
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743

Last edited by dor77; 29-08-09 at 10:59..
  Reply With Quote
ישן 29-08-09, 14:14   # 6
anti
חבר על
 
מיני פרופיל
תאריך הצטרפות: Jul 2006
הודעות: 901

anti לא מחובר  

קודם כל משתנה בPHP מתחיל ב$ לכן לא הגיוני שזה נכון.
ואתה לא יכול להעביר בצורה כזאת משתנה מJS לPHP
  Reply With Quote
ישן 29-08-09, 14:19   # 7
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

בגל זה זה אל היה נראה לי נכון, אבל עובדה שזה עובד.
בכל אופן אני רוצה שזה יהיה תקני ויעבוד.
משתנה בphph מתחיל ב$ בjs זה אחרת.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 29-08-09, 20:57   # 8
sholaman
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 323

sholaman לא מחובר  

לא יכול להיות בחיים שזה עובד!!!
אתה בטח מתבלבל...
שוב, אין לך מה לבדוק את המשתנה הזה.
בצד שרת תבדוק את הטופס שנשלח מחדש.
__________________
  Reply With Quote
ישן 29-08-09, 21:28   # 9
Shay Ben Moshe
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2007
הודעות: 1,397

Shay Ben Moshe לא מחובר  

זה די פשוט להבין מה הולך שם.
דבר ראשון שצריך להבין זה שPHP רצה לפני צד הלקוח (HTML,JS,CSS...). משמע לא ניתן להשתמש בצד הלקוח באופן ישיר לתוך PHP מבלי לשלוף וכדומה בצורות של פתיחת קבצים.
דבר שני נסביר מה קרה:
כתבת val, אני מאמין שPHP ניסתה להתייחס אל זה כאל קבוע אבל לא הצליחה. בכל אופן, לכתוב משהו PHP יודעת, גם אם היית רושם שם hey==true, או 3==true זה היה עובד. אם היית רושם 0==true או false==true זה לא היה עובד.
אם אתה רוצה להעביר משתנה דרך JS אני ממליץ להשתמש בAJAX או COOKIE (ולעשות REFRESH).
בהצלחה.
__________________
שי בן משה - בונה אתרים
חותך אתרים, ומתכנת צד לקוח וצד שרת.
  Reply With Quote
ישן 30-08-09, 06:06   # 10
AlmogBaku
חבר וותיק
 
AlmogBaku's Avatar
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
מיקום: מודיעין
הודעות: 1,022

AlmogBaku לא מחובר  

לדעתי הבעיה שלך היא ב- document.frm.first_name.value והשני, תבחר אותם על פי ID


וכמו שאמרו לך מקודם, אין קשר בין ה PHP ל JS(אלא אם כן יוצרים אותו, וזה כבר סיפור אחר..)
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 18:08.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ