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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 21-06-08, 17:41   # 1
Jonathan Zeierman
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,003

Jonathan Zeierman לא מחובר  

Mysql בעיה

שלום חברים...
התחלתי ללמוד SQL,ויצרתי 2 טפסים כאלו:
טופס בוא נקרא לזה סתם הרשמה:
<
PHP קוד:
html>
<
head>
<
meta http-equiv="Content-Language" content="he"
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<
title>&#1492;כנסת נתונים לתוך טבלה</title>
</head>
<
body>
<
form method="post" action="dbcreate.php">
<
p align="center" dir="rtl"><font size="6"><b>&#1492;כנסת נתונים לתוך טבלה דרך טופס:</b></font></p>
<p align="center" dir="rtl">&nbsp;</p>
<
p align="center" dir="rtl"><font size="4"><b>&#1513;ם פרטי: </b></font><font face="Arial"><input name="name" id="u1" style="font-weight: 700"></font></p>
<p align="center" dir="rtl"><font size="4"><b>&#1502;ספר: </b></font><font face="Arial">
<input name="number" id="u2" style="font-weight: 700" size="7"></font></p>
<
p align="center">
<
input type="submit" value="שלח" style="font-weight: 700"></p>
</
p>
</
body>
</
html
וטופס PHP שמבצע את הפעולות שנתבקשו:
PHP קוד:
<HTML>
    <HEAD>
        <TITLE>
            הצגת נתונים מתוך טבלה
        </TITLE>
    </HEAD>

    <BODY>
        <CENTER>
            <H1>הצגת נתונים מתוך טבלה</H1>

            <?php
                 $connection 
mysql_connect("localhost","DBNAME","DBPASS")
                     or die (
"Couldn't connect to server");

                 
$query "CREATE DATABASE IF NOT EXISTS DBNAME";
                 
$result mysql_query($query)
                      or die(
"Query failed: " mysql_error());

                 
$db mysql_select_db("DBNAME"$connection)
                     or die (
"Couldn't select database");

$name $_POST["name"]; 
$number $_POST["number"]; 

                 
$query "INSERT INTO reg (name, number) VALUES('$name', '$number')";
                 
$result mysql_query($query)
                      or die(
"Query failed: " mysql_error());

                 
$query "SELECT * FROM reg";
                 
$result mysql_query($query)
                      or die(
"Query failed: " mysql_error());

                 echo 
"<TABLE BORDER='1'>";
                 echo 
"<TR>";
                 echo 
"<TH>Name</TH><TH>Number</TH>";
                 echo 
"</TR>";

                 while (
$row mysql_fetch_array($result))
                 {
                     echo 
"<TR>";
                     echo 
"<TD>"$row['name'], "</TD><TD>"$row['number'], "</TD>";
                     echo 
"</TR>";
                 }

                 echo 
"</TABLE>";

                 
mysql_close($connection);

             
?>
         </CENTER>
    </BODY>
</HTML>
הכל עובד לי מצויין חוץ מחלק 1:
אחרי שנרשמים כאילו זה יציג לנו את השם ואת המספר שרשמנו...
אבל פה הבעיה שאם אני אעשה בדפדפן "רענן" לדף הוא יציג עוד פעם את אותם נתונים פעמיים על ידי זה שעשיתי "רענן" , אין לי מושג איך לפתור את זה O_O.
מי שיוכל לעזור אודה לו מאד,
יוני.
  Reply With Quote
ישן 21-06-08, 17:52   # 2
רומן
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
מיקום: באר שבע
גיל: 36
הודעות: 405
שלח הודעה באמצעות ICO אל רומן

רומן לא מחובר  

לא ממש הבנתי... נרשמים אלייך, ואחרי ההרשמה הם רואים את השם איתו נרשמו, ומה הבעיה?
  Reply With Quote
ישן 21-06-08, 17:58   # 3
Jonathan Zeierman
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,003

Jonathan Zeierman לא מחובר  

אחרי שאתה רואה את השם איתו נרשמת בדף שנקרא:
dbcreate.php
תעשה רענן ותראה את השם שלך עוד הפעם,הנה דוגמא:
http://half-life.co.il/sql/reg.html
  Reply With Quote
ישן 21-06-08, 19:40   # 4
Ron | CSite.co.il
חבר על
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
גיל: 32
הודעות: 980

Ron | CSite.co.il לא מחובר  

ציטוט:
נכתב במקור על ידי FreshGame.Net צפה בהודעה
אחרי שאתה רואה את השם איתו נרשמת בדף שנקרא:
dbcreate.php
תעשה רענן ותראה את השם שלך עוד הפעם,הנה דוגמא:
http://half-life.co.il/sql/reg.html
פשוט תבצע בדיקה שאם שם המשתמש קיים,
אתה מציג שגיאה שלא ניתן להירשם עם שם זה כיוון שהוא קיים במסד.
  Reply With Quote
ישן 21-06-08, 19:53   # 5
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

כמה עצות:
1. תשתמש ב mysql_fetch_assoc ולא array.

2. את הכנסת הנתונים לטבלה תעשה בתוך IF הגיעו נתונים מהטופס רק אז לנסות להכניס אותם.
ואם הגיעו נתונים להכנסה, תעשה redirect מחדש לדף ואז זה ימנע מהדפדפן לנסות לשלוח את נתוני הPOST מחדש בריענון.

3. תעשה mysql_real_escape_string לפני שאתה מכניס נתונים מהמשתמש לשאילתה

4. תשתמש ב HEREDOC שזה הדבר עם ה>>>

הקוד יראה משהו כזה:

PHP קוד:
<?php
                 $connection 
mysql_connect("localhost","DBNAME","DBPASS")
                     or die (
"Couldn't connect to server");

                 
$query "CREATE DATABASE IF NOT EXISTS DBNAME";
                 
$result mysql_query($query)
                      or die(
"Query failed: " mysql_error());

                 
$db mysql_select_db("DBNAME"$connection)
                     or die (
"Couldn't select database");

        if(isset(
$name) && isset($_POST["number"])) {

            
$name mysql_real_escape_string($_POST["name"]);
            
$number mysql_real_escape_string($_POST["number"]);

            
$query "INSERT INTO `reg` (name, number) VALUES('{$name}', '{$number}')";
            
$result mysql_query($query)
                   or die(
"Query failed: " mysql_error());
            
header("Location: ?");
            die();

        }
?>
<HTML>
    <HEAD>
        <TITLE>
            äöâú ðúåðéí îúåê èáìä
        </TITLE>
    </HEAD>

    <BODY>
        <CENTER>
            <H1>äöâú ðúåðéí îúåê èáìä</H1>

            <?php

                 $query 
"SELECT * FROM reg";
                 
$result mysql_query($query)
                      or die(
"Query failed: " mysql_error());

echo <<<HTML
<TABLE BORDER='1'>
<TR>
    <TH>Name</TH><TH>Number</TH>
</TR>

HTML;

                 while (
$row mysql_fetch_assoc($result))
                 {
echo <<<HTML
                     <TR>
<TD>
{$row['name']}</TD><TD>{$row['number']}</TD>
</TR>
HTML;
}

echo <<<HTML
</TABLE>
HTML;

                 
mysql_close($connection);

             
?>
         </CENTER>
    </BODY>
</HTML>
  Reply With Quote
ישן 21-06-08, 21:30   # 6
Jonathan Zeierman
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,003

Jonathan Zeierman לא מחובר  

יש בעיה עם התו הזה:
PHP קוד:

הנה השגיאה:
ציטוט:
Parse error: syntax error, unexpected '}' in /home/half/domains/half-life.co.il/public_html/sql/dbcreate.php on line 57
הקוד:
PHP קוד:
<?php 
                 $connection 
mysql_connect("localhost","DBNAME","DBPASS"
                     or die (
"Couldn't connect to server"); 

                 
$query "CREATE DATABASE IF NOT EXISTS DBNAME"
                 
$result mysql_query($query
                      or die(
"Query failed: " mysql_error()); 

                 
$db mysql_select_db("DBNAME"$connection
                     or die (
"Couldn't select database"); 

        if(isset(
$name) && isset($_POST["number"])) { 

            
$name mysql_real_escape_string($_POST["name"]); 
            
$number mysql_real_escape_string($_POST["number"]); 

            
$query "INSERT INTO `reg` (name, number) VALUES('{$name}', '{$number}')"
            
$result mysql_query($query
                   or die(
"Query failed: " mysql_error()); 
            
header("Location: ?"); 
            die(); 

        } 
?> 
<HTML> 
    <HEAD> 
        <TITLE> 
            שליפת נתונים מתוך טבלה 
        </TITLE> 
    </HEAD> 

    <BODY> 
        <CENTER> 
            <H1>שליפת נתונים מתוך טבלה</H1> 

            <?php 

                 $query 
"SELECT * FROM reg"
                 
$result mysql_query($query
                      or die(
"Query failed: " mysql_error()); 

echo <<<HTML
<TABLE BORDER='1'>
<TR> 
    <TH>Name</TH><TH>Number</TH> 
</TR> 

HTML; 

                 while ($row = mysql_fetch_assoc($result))
                 {
echo <<<HTML 
                     <TR> 
<TD>
{$row['name']}</TD><TD>{$row['number']}</TD> 
</TR> 
HTML;
}

echo <<<HTML
</TABLE> 
HTML;

                 
mysql_close($connection); 

             
?> 
         </CENTER> 
    </BODY> 
</HTML>
  Reply With Quote
ישן 21-06-08, 21:42   # 7
Megnum
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: May 2007
מיקום: אשד
הודעות: 1,308

Megnum לא מחובר  

תחשוב בהיגיון, אתה מרענן את הדפדפן והדפדפן הרי שומר את נתוני הטופס כל עוד לא יצאת ממנו, אם תעשה שוב רענון הדפדפן ישלח שוב את הנתונים של הטופס משמע, הנתונים נשלחו שוב לבסיס נתונים. אתה יכול לעשות הצגת הנתונים מהטבלה בדף שונה שבו לא מתבצעת שאילתת שליחת נתונים למסד. יש כמובן עוד הרבה דרכים אבל פה הסברתי לך את הבעיה למה זה שוב הנתונים משכפלים את עצמם.
  Reply With Quote
ישן 21-06-08, 22:19   # 8
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

אצלי לא.
תנסה להוריד את הקובץ ולשנות לו את הסיומת
Attached Files כדי לראות קבצים מצורפים, מספר ההודעות שלך חייב להיות גדול מ,.. או שווה ל 10
  Reply With Quote
ישן 21-06-08, 22:31   # 9
Jonathan Zeierman
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jun 2007
הודעות: 1,003

Jonathan Zeierman לא מחובר  

ציטוט:
נכתב במקור על ידי בניה צפה בהודעה
אצלי לא.
תנסה להוריד את הקובץ ולשנות לו את הסיומת
אכן עובד:]
תודה רבה רבה רבה,אפשר לנעול.
  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. הזמן כעת הוא 20:09.

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