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

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

Reality 29-06-07 20:44

שאלה | מה לא בסדר בקוד PHP הבא
 
PHP קוד:

<?php
$link
=mysql_connect("localhost","root""")  or die(mysql_error());
mysql_select_db("test"$link) or die(mysql_error());

if(isset(
$_post['username']))
{

$query="SELECT from users";
$res=mysql_query($query,$link);
while(
$row=mysql_fetch_array($res))
{
if(!
strcmp($_POST['username'],$row['username']))
{
echo 
"Username already taken";
}
else
{
$query1="INSERT INTO `users` (`username`) VALUES ('$_GET[username]')";
$res=mysql_query($query1,$link);
echo 
"Thanks for signing up!";
}
}
}
?>

זו אמור להיות קוד שמכניס שם משתמש למסד נתונים וגם בודק אם הוא קיים כבר.
אני ממש מתחיל ב PHP...
אז אני לא ממש אבין פתרונות מסובכים.
תודה.

חיים 29-06-07 21:02

דבר ראשון את המילה POST תמיד רושמים בגדול דבר שני כותבים select * from users ובמקום הכוכבית אתה שם את המידע שיש לך להוציא אלא אם אתה צריך להוציא הכל ואז אתה משאיר אותה

-roee- 29-06-07 21:18

אמור להיות:

if(isset($_GET['username']))

Daniel 29-06-07 21:23

ציטוט:

נכתב במקור על ידי bigsmoke (פרסם 510336)
אמור להיות:

if(isset($_GET['username']))

לא זה לא, אל תדבר שטויות.

Reality 29-06-07 21:54

עדיין לא עובד =\
זה כותב לי שיש שגיאה בשורה של ה while

חיים 29-06-07 22:19

תבדוק את השאילתה שלך

Daniel 29-06-07 22:33

"SELECT from users".
שכחת לציין מה לבחור.

ViPeRt 30-06-07 02:22

שיפצתי לך קצת את הקוד..
PHP קוד:

<?php 
$link
=mysql_connect("localhost","root""")  or die(mysql_error()); 
mysql_select_db("test"$link) or die(mysql_error());.
$username $HTTP_POST_VARS['username']; 
$password $HTTP_POST_VARS['password'];
if(isset(
$username)) { 
$query="SELECT * from `users` WHERE `username` = '$username' AND `password` = '$password'"
if (
mysql_num_rows($query_of_user) == "0") { 
echo 
"Username already taken"

else { 
$query1="INSERT INTO `users` (`username`) VALUES ('$username')"
$res=mysql_query($query1,$link); 
echo 
"Thanks for signing up!"
}
}
 
?>

:)

Reality 30-06-07 09:58

ציטוט:

נכתב במקור על ידי ViPeRt (פרסם 510421)
שיפצתי לך קצת את הקוד..
PHP קוד:

<?php
$username 
$HTTP_POST_VARS['username']; 
$password $HTTP_POST_VARS['password'];
if(isset(
$username)) { 
$query="SELECT * from `users` WHERE `username` = '$username' AND `password` = '$password'"
if (
mysql_num_rows($query_of_user) == "0") {}

:)

תוכל להסביר לי את אלו?

ViPeRt 30-06-07 14:13

PHP קוד:

// מגדיר את המשתנים
$username $HTTP_POST_VARS['username']; 
$password $HTTP_POST_VARS['password'];
// אם יש משהו במשתנה $username
if(isset($username)) { 
// שאילתה שבודקת האם יש אותו שם משתמש וסיסמא אפשר לוותר על הבדיקה של הסיסמא... ולהשאיר רק את השם משתמש
$query="SELECT * from `users` WHERE `username` = '$username' AND `password` = '$password'"
// אם השאילתה מחזירה 0 זה אומר שלא קיים שם משתמש וסיסמא כזה...
if (mysql_num_rows($query_of_user) == "0") {} 



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

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