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

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

TAsraf 14-02-06 15:44

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

<?php
include "config.php";

$username $_POST["username"]; 
$password $_POST["password"]; 
$email $_POST["email"]; 

if(
$_POST["posted"] == 1) { 
$checkvaild mysql_query("SELECT * FROM members"); 
while(
$users mysql_fetch_array($checkvaild)) { 
if(
$users["username"] == $_POST["username"]) { 
echo 
"שם המשתמש תפוס.<br>";
}
if(
$users["email"] == $_POST["email"]) { 
echo 
"כתובת האימייל תפוסה.<br>";
}

}
if(
$_POST["posted"] == 1) { 
mysql_query("INSERT INTO `members` VALUES ( '', '$username', '$password', '$email')");
echo 
"<span lang='he'><font size='2'>ההרשמה בוצעה!<br>פרטי הכניסה:<br><br>שם משתמש: $username<br>סיסמא: $password<br>אימייל: $email<br><br>תודה לך שנרשמת/ה.</font></span>";
}
?>

עשיתי את זה עכשיו כשאני נרשם עם אותו שם משתמש או/ו סיסמא זה רושם לי הכל בסדר זה רושם שהמשתמש והאימייל קיימים
אבל הבעיה זה שזה בכל זאת מריץ את הקוד
PHP קוד:

mysql_query("INSERT INTO `members` VALUES ( '', '$username', '$password', '$email')");
echo 
"<span lang='he'><font size='2'>ההרשמה בוצעה!<br>פרטי הכניסה:<br><br>שם משתמש: $username<br>סיסמא: $password<br>אימייל: $email<br><br>תודה לך שנרשמת/ה.</font></span>"

ויוצר את המשתמש..
אתם יכולים להגיד לי מה הבעיה פה ואיך אני יכול לפתור את הבעיה שזה לא יכניס נתונים אם השם משתמש או/ אימייל קיימים
תודה לכם!
לינק להרשמה: http://www.tasraf.be/register.php

psycho 14-02-06 15:48

אתה יכול להוסיף משתמש $error , ולאתחל אותו כ0. במידה ויש ארור להפוך ל 1.

ולפני שאתה עושה INSERT תבדוק ש ERROR הוא 0, אחרת שלא יכניס למסד

יש עוד הרבה אפשרויות
בהצלחה

TAsraf 14-02-06 15:52

לא הבנתי אותך בכלל..

חוטו 14-02-06 16:27

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

<?php 
include "config.php"

$username $_POST["username"];  
$password $_POST["password"];  
$email $_POST["email"];  

if(
$_POST["posted"] == 1) {  
$checkvaild mysql_query("SELECT * FROM members");  
while(
$users mysql_fetch_array($checkvaild)) {  
if(
$users["username"] == $_POST["username"]) {  
echo 
"שם המשתמש תפוס.<br>"
} else if(
$users["email"] == $_POST["email"]) {  
echo 
"כתובת האימייל תפוסה.<br>"
} else {
if(
$_POST["posted"] == 1) {  
mysql_query("INSERT INTO `members` VALUES ( '', '$username', '$password', '$email')"); 
echo 
"<span lang='he'><font size='2'>ההרשמה בוצעה!<br>פרטי הכניסה:<br><br>שם משתמש: $username<br>סיסמא: $password<br>אימייל: $email<br><br>תודה לך שנרשמת/ה.</font></span>"


}  


?>


TAsraf 14-02-06 16:34

לא הקוד הזה לא עובד..

AFI 14-02-06 16:41

PHP קוד:

if($_POST["posted"] == 1) {   
mysql_query("INSERT INTO `members` VALUES ( '', '$username', '$password', '$email')");  
echo 
"<span lang='he'><font size='2'>ההרשמה בוצעה!<br>פרטי הכניסה:<br><br>שם משתמש: $username<br>סיסמא: $password<br>אימייל: $email<br><br>תודה לך שנרשמת/ה.</font></span>";  


אני מתמקד בחלק הזה:
PHP קוד:

if($_POST["posted"] == 1

מה הקטע פה? התנאי שעשית מתבצע תמיד כשהטופס נשלח, אתה צריך להגדיר לו תנאי שהוא ישלח רק אם שם המשתמש והאימייל מתאימים
PHP קוד:

if(($users["username"] == $_POST["username"])||($users["email"] == $_POST["email")) { 


TAsraf 14-02-06 18:41

מצטער בכלל לא הבנתי מה הכוונה שלך.
מצטער

ViPeRt 14-02-06 20:52

PHP קוד:

<?php 
include "config.php"
if (
$_POST["posted"] == 1) {  
$username $_POST["username"];  
$password $_POST["password"];  
$email $_POST["email"];
$err 0;  
$checkvaild mysql_query("SELECT * FROM members");  
while(
$users mysql_fetch_array($checkvaild)) {  
if (
$users["username"] == $username || $users["email"] == $email) { $err 1; } 
}  
if (
$err 1) { die("שם משתמש או אימייל תפוסים"); }
else {
mysql_query("INSERT INTO `members` VALUES ( '', '$username', '$password', '$email')"); 
echo 
"<span lang='he'><font size='2'>ההרשמה בוצעה!<br>פרטי הכניסה:<br><br>שם משתמש: $username<br>סיסמא: $password<br>אימייל: $email<br><br>תודה לך שנרשמת/ה.</font></span>";
}
 

?>

זה קוד יותר יעיל.. הוא ידפיס פעם אחת אם תפוס ולא יעבור כל מהתמש ויכתוב...

אורי 14-02-06 21:47

תגיד אם הקוד הבא פועל..(אם פועל תשנה את השגיאה למטה)
PHP קוד:

<?php  
include "config.php";  

$username $_POST["username"];   
$password $_POST["password"];   
$email $_POST["email"]; 
$auth  =  1

if($_POST["posted"] == 1) {                   
    
$checkvaild mysql_query("SELECT * FROM members");   
while(
$users mysql_fetch_array($checkvaild)) {                   
    if(
$users["username"] == $_POST["username"])
    {                                   
        
$auth  =  0      
                    

    elseif (
$users["email"] == $_POST["email"]) {   
        
$auth  =  0  
}                
}                
}                

if(
$_POST["posted"] == AND $auth  =  1) {   
    
mysql_query("INSERT INTO `members` VALUES ( '', '$username', '$password', '$email')");  
    echo 
"<span lang='he'><font size='2'>ההרשמה בוצעה!<br>פרטי הכניסה:<br><br>שם משתמש: $username<br>סיסמא: $password<br>אימייל: $email<br><br>תודה לך שנרשמת/ה.</font></span>";  
}  

else {
echo 
"אין באפשרותך להירשם מכיוון ששם המשתמש/אימייל כבר רשומים במערכת, אנא חזור אחורה ותקן את פרטיך.";
}
  

?>


TAsraf 14-02-06 21:48

תודה לכולם עכשיו אני מנסה
Viper בקוד שלך זה עושה תמיד שם משתמש או/ו אימייל תפוסים
אפילו אם הם כן
וC|Uri
הקוד שלך מראה
PHP קוד:

Parse errorparse errorunexpected T_IF in /home/tamir/domains/tasraf.be/public_html/register.php on line 18 



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

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