הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה בבדיקת הנתונים שנשלחים (https://hosts.co.il/forums/showthread.php?t=47959)

KaMiKaZy 21-06-07 12:33

עזרה בבדיקת הנתונים שנשלחים
 
בניתי מערכת קטנה ויש לי בעיה עם הנתונים שנשלחים כי אני לא מצליח לעשות שזה יבדוק אם יש את אותו ערך.. אז הוא מכניס את כל הערכים ולא בודק אם יש כבר סיסמה כזאת
זה הקוד שלי:
PHP קוד:

<?php
              
include('config.php');
$form $_POST["FORM1"];
function 
insert_check($form)
{
    
$pass  mysql_real_escape_string($pass);
    
$query mysql_query("SELECT COUNT(*) AS c FROM `sisma` WHERE `sis`='{$pass}'");  
    
$row   mysql_fetch_row($query);
    
    if((
$row['c'] == 0) AND (trim($pass) != ''))
    {
        return 
true;
    }
    else 
    {
        return 
false;
    }
}
    
$form1 $_POST["FORM2"];

            
$aaammd5($c);
              if(
insert_check($form))
                {
    
$query=mysql_query("SELECT*FROM `sisma` ");
       
$NUM=mysql_num_rows($query)+1;
          
mysql_query("INSERT INTO `sisma` ( `id` , `sis` , `sism` ) VALUES ($NUM , '$c', '$aaam')");  
           echo 
"נשלח";
}
if(
$_POST['FORM2'] && $_POST['FORM1']=="") {
echo 
"שגיאה";
}
?>

זה פשוט לא בודק את הערכים!! אני כבר משתגע מזה הוא מוסיף כל מה שאני רושם ולא בודק אם יש את זה במסד! איך אני יכול לעשות שזה יבדוק אם יש לי את אותו ערך ושהוא לא יוסיף אותו אם הוא קיים??

תודה לעוזרים

Elad-A 21-06-07 13:22

זה העיקרון תתאים את זה:

PHP קוד:

$query mysql_query("SELECT * FROM `sisma` WHERE `sis`='{$pass}'");   
$num   mysql_num_rows($query); 
     
if(!
$num)
{
    echo 
"no match";
}
else
{    
    echo 
"already exists";



Eli-Hai 21-06-07 13:34

ציטוט:

נכתב במקור על ידי Elad-A (פרסם 503657)
זה העיקרון תתאים את זה:

PHP קוד:

$query mysql_query("SELECT * FROM `sisma` WHERE `sis`='{$pass}'");   
$num   mysql_num_rows($query); 
     
if(!
$num)
{
    echo 
"no match";
}
else
{    
    echo 
"already exists";



אפשרי גם עם mysql_num_rows.

Startzero.net 21-06-07 13:36

ציטוט:

נכתב במקור על ידי Eli-Hai (פרסם 503667)
אפשרי גם עם mysql_num_rows.

?:|
הוא השתמש ב mysql_num_rows \:

KaMiKaZy 21-06-07 19:43

ציטוט:

נכתב במקור על ידי Elad-A (פרסם 503657)
זה העיקרון תתאים את זה:

PHP קוד:

$query mysql_query("SELECT * FROM `sisma` WHERE `sis`='{$pass}'");   
$num   mysql_num_rows($query); 
     
if(!
$num)
{
    echo 
"no match";
}
else
{    
    echo 
"already exists";




עכשיו זה רושם לי רק already exists ולא נותן לי להוסיף שום מילה

DorWD 21-06-07 19:50

מה שעשית זה לבדוק אם הMysql_num_rows הצליח!
הוא הצליח, אבל מחזיר 0
לכן תעשה:
PHP קוד:

if ($num == 0){
echo 
"no match";
}
else{
echo 
"already exists";



KaMiKaZy 21-06-07 19:59

ציטוט:

נכתב במקור על ידי DorWD (פרסם 504013)
מה שעשית זה לבדוק אם הMysql_num_rows הצליח!
הוא הצליח, אבל מחזיר 0
לכן תעשה:
PHP קוד:

if ($num == 0){
echo 
"no match";
}
else{
echo 
"already exists";



גם זה מחזיר כל הזמן no match

DorWD 21-06-07 20:03

אז זה לא מצא שום נתונים...

4ior 21-06-07 21:14

ציטוט:

נכתב במקור על ידי DorWD (פרסם 504013)
מה שעשית זה לבדוק אם הMysql_num_rows הצליח!
הוא הצליח, אבל מחזיר 0
לכן תעשה:
PHP קוד:

if ($num == 0){
echo 
"no match";
}
else{
echo 
"already exists";



0 זה כמו false...
ככה שזה לא משנה, מה שאלעד אמר זה נכון

בכל מקרה, זה אומר שאין כלום במסד.

DorWD 21-06-07 21:49

ציטוט:

נכתב במקור על ידי KaMiKaZy (פרסם 504004)
עכשיו זה רושם לי רק already exists ולא נותן לי להוסיף שום מילה

ציטוט:

נכתב במקור על ידי KaMiKaZy (פרסם 504021)
גם זה מחזיר כל הזמן no match

_________________________________________________
ציטוט:

נכתב במקור על ידי 4ior (פרסם 504100)
0 זה כמו false...
ככה שזה לא משנה, מה שאלעד אמר זה נכון

בכל מקרה, זה אומר שאין כלום במסד.

אז איך אתה מסביר שהיה שינוי מalready exists לno match?

אגב, אתה צודק, אבל זה לא מסביר את השינוי


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

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