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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=20045)

lalamen 17-04-06 06:51

שאלה בphp
 
בניתי את הקוד הזה:

PHP קוד:

<?php
if($_POST["formsend"] == 1

$error "";
if(!
$_POST["name"]){
$error "לא כתבת שם";
}
if(!
$_POST["email"]){
$error "לא כתבת אימייל";
}
if(
$error == ""){
$name htmlspecialchars($_POST["name"]);
$email htmlspecialchars($_POST["email"]);

mysql_query("INSERT INTO `members` (`name` , `email`)
VALUES (''$name', '$email')"
) or die("שגיאה.");
echo 
"<font color='green'>נרשמת בהצלחה.</font>";
}
}
echo 
$error;
?>
<form action="register.php" method="post">
<input type="hidden" name="formsend" value="1" />
שם:<br />
<input type="text" name="name" value="<?php echo $_POST["username"]; ?>" /><br />
אימייל:<br />
<input type="text" name="email" value="<?php echo $_POST["email"]; ?>" /><br />
<input type="submit" name="submit" value="הירשם"  />
</form>

ואני רוצה לעשות שבדף יהיה הטופס הרשמה ואם למשל לחצו על הירשם אז מופיעות השגיאות בהתאם ועדיין יופיע הטופס הרשמה בדף ואם אין שגיאות זה לא יציג את הטופס ויכתוב נרשמת בהצלחה.
קישור לדף http://80.179.149.179/~maornet/register.php
וכל זה אמור להיות רק בדף אחד בלי לעשות למשל דבר כזה http://80.179.149.179/~maornet/register.php?act=auth
תודה לעוזרים

AmitU 17-04-06 06:55

אם אתה בודק רק אם כתבו או לא ההשוואה תתבצע כך

במקום שתי השורות הללו :


PHP קוד:

if(!$_POST["name"]){
$error "לא כתבת שם";
}
if(!
$_POST["email"]){
$error "לא כתבת אימייל";


תרשום

PHP קוד:

if($_POST["name"]=="")
{
        
$error "לא כתבת שם";
}
if(
$_POST["email"]=="")
{
        
$error "לא כתבת אימייל";


כך שזה יבדוק אם הירך שהתקבל בטופס שווה לאפס.
אבל בכל מקרה אני ממליץ לבדוק גם באימאייל את ה@ ולבדוק אם האורך של השם קטן מ2.
אבל רצית רק שאם רשם לא רשם שם ואימאייל וזה מה שכתבתי לך בPHP.

בהצלחה.

lalamen 17-04-06 07:06

ציטוט:

נכתב במקור על ידי AmitU
אבל בכל מקרה אני ממליץ לבדוק גם באימאייל את ה@ ולבדוק אם האורך של השם קטן מ2.
אבל רצית רק שאם רשם לא רשם שם ואימאייל וזה מה שכתבתי לך בPHP.

בהצלחה.

זה סתם קוד שכתבתי כרגע רק בשביל ההדגמה בקובץ המקורי אני בודק את האימייל בעזרת ביטוי רגולריי, את האורך אני בודק בעזרת הפונקציה strlen ,אני מוסיף גם קוד אישור הרשמה ועוד...

miniature 17-04-06 07:18

תעשה ככה:
PHP קוד:

if($_POST['register']) { //register - שם הטופס
$register_counter 0;
$username_register $_POST['username_register'];  // username_register - שם השדה
if($username_register == "") {
$register_counter 1;
echo 
"אתה חייב לכתוב שם משתמש\n";
}
if(
$register_counter == 0) { // אם לא זוהו שגיאות
echo "ההרשמה הצליחה\n";
}


זאת רק שיטה אחת, יש עוד המון שיטות.
בהצלחה.

lalamen 17-04-06 07:28

ציטוט:

נכתב במקור על ידי miniature
תעשה ככה:
PHP קוד:

if($_POST['register']) { //register - שם הטופס
$register_counter 0;
$username_register $_POST['username_register'];  // username_register - שם השדה
if($username_register == "") {
$register_counter 1;
echo 
"אתה חייב לכתוב שם משתמש\n";
}
if(
$register_counter == 0) { // אם לא זוהו שגיאות
echo "ההרשמה הצליחה\n";
}


זאת רק שיטה אחת, יש עוד המון שיטות.
בהצלחה.

זה אותו קוד כמו שכתבתי אתה לא הבנת אותי ,למשל במערכת פורמים של הוסטס תעשה הרשמה אז הכתובת של ההרשמה תיהיה www.hosts.co.il/forums/register.php ובתחילת ההרשמה יהיה לך להסכים לתנאים אתה לוחץ על הבא והכתובת תישאר אותו דבר
www.hosts.co.il/forums/register.php
ותראה את הטופס הרשמה ואם תמלא את כל הפרטים נכון אז יהיה לך דף שנרשמת בהצלחה
והכתובת שלו תיהיה עדיין www.hosts.co.il/forums/register.php

miniature 17-04-06 07:34

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

lalamen 17-04-06 19:03

מישהו יכול לעזור לי בבקשה לא הצלחתי עדיין,
תודה

Itay 17-04-06 19:27

תעשה כמו שעשית שם, ובמקרה שיש שגיאות אז הוא מציג את הטופס ואת השגיאות מעליו, ואם אין שגיאות אז הוא לא מציג טופס

כלומר אתה צריך לבדוק אם משהו נשלח (נגיד כפתור כלשהוא) ואז אתה בודק את הנתונים כדי להציג את השגיאות

מתחת לזה אתה עושה בדיקה שאם המשתנה error ריק (אתה כמובן צריך לעשות לו איפוס בהתחלה לפני שאתה מכניס אליו את השגיאות) אז במקום הטופס (זה יהיה מקרה ה-else לאם ה-error לא ריק או שלא נשלח בכלל) אתה מכניס את הנתונים לבסיס נתונים..

בניה 17-04-06 22:39

ב"ה



תציץ פה:
http://bnaya.be/phpfiles/form.phps

BlueNosE 19-04-06 14:36

אני משתמש בפונקצייה לדוגמא RegArea ושם בו את הדף, ואז בדף עצמו אני עושה:
[php]


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

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