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

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

Gal Shafrir 25-01-06 20:26

צריך עזרה ב-php..
 
יש לי בעיה עם טופס שליחה במייל. אני צריך פקודה של if
נגיד שאם לא מכניסים את כל הפרטים: snedfrom , subject ,messeage
אז זה לא מאפשר לשלוח אלה מדפיס כאילו "יש פרטים שלא מלאו" אבל באותו עמוד שזה יהיה מוצג.
ואם מילאו הכל אז שזה ידפיס: "המכתב נשלח בהצלחה" כבר הכנתי טופס אבל לא הסתדרתי כל כך עם ה-php.

תודה לכל העוזרים...

DaNieLLL 25-01-06 20:41

תראה את הקוד...

Dan Zelniker 25-01-06 20:42

זה לא בעיה.
נגיד שהFORM שלך זה :
קוד:

<form name="שם" action="Action">
תשנה אותו ל :
קוד:

<form name"Name" action="Action" onSubmit="return Func()">
אז הקוד שתכניס בHEAD של ה HTML הוא
קוד:

<script language="javascript">
function Func()
{
if(שם.YourINPUT.value=="")
{
alert("YourText");
שם.YourINPUT.focus();
return false;
}
return true;
}
</script>


ram 25-01-06 20:49

Titofe,שאלה לי אליך איפה אני צריך להכניס את קוד ה-JS
באיזה דף?
יש נומר שניים\שלושה דפים
1. mail והשני ה-send או משהו כזה לאן אני מכניס את זה?

Gal Shafrir 25-01-06 20:49

אוקיי תודה

אגב, יש לי שאלה אחרת..


INSERT INTO tblName (column1,column2,column3...)
VALUES (val1,val2,val3)

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

תודה לכל העוזרים...

Dan Zelniker 25-01-06 21:18

לא זה לא עם אותן הפקודות.
הנה הקוד HTML :
קוד:

<form method="post" action="reg.php?mode=reg">
Username :<p><INPUT name="username" type="text" /><BR>
Password  :<p><INPUT name="password" type="password" /><BR>
<INPUT type=Submit value=Submit />
</form>
<form method="hidden" action="hidden">

הנה הקוד PHP :
קוד:

<?php


$connection = mysql_connect ("localhost", "mySQLuser", "mySQLpassword")
or die("Culdn't connect to the MySQL");
if($_REQUEST['mode']=="save"
                $db = mysql_select_db("YourDB", $connection)
                    or die ("Couldn't select database");

                $queryone = "INSERT INTO members (username, password) VALUES($_POST['username'], $_POST['password'])";
                $result = mysql_query($queryone)
                      or die("Query failed: " . mysql_error());


                mysql_close($connection);
?>

מקווה שזה יעבוד לך(עכשיו כתבתי את זה אז לא בטוח שזה יעבוד..)
ram לא הבנתי את השאלה...

Gal Shafrir 25-01-06 22:03

אוקיי זה כאילו ההרשמה ודרך אגב זה כותב לי:

PHP קוד:

Parse errorparse errorunexpected T_VARIABLE in /home/pop3667788/domains/gal.djoron.com/public_html/insert.php on line 52 

מה צריך לסדר?

ואיך עושים כאילו התחברות? [מצטער על כל השאלות פשוט אני לא ממש מבין..]
כאילו מיד אחרי שהוא נרשם?..
ואני מעדיף פקודת if ב-php..

שקד 25-01-06 22:08

ציטוט:

נכתב במקור על ידי DJ G.S
יש לי בעיה עם טופס שליחה במייל. אני צריך פקודה של if
נגיד שאם לא מכניסים את כל הפרטים: snedfrom , subject ,messeage
אז זה לא מאפשר לשלוח אלה מדפיס כאילו "יש פרטים שלא מלאו" אבל באותו עמוד שזה יהיה מוצג.
ואם מילאו הכל אז שזה ידפיס: "המכתב נשלח בהצלחה" כבר הכנתי טופס אבל לא הסתדרתי כל כך עם ה-php.

תודה לכל העוזרים...

אז אתה בודק אם הערך עצמו הוא ריק לדוגמא:
PHP קוד:

 if($_POST['messeage'] == "") { // Your Erorre } 

ואם באמת מילאו אז זה לא יתיחס לשגיאה שתכתוב זה ימשיל להריץ את הסקריפט ..
ובסוף הסקריפט תרשום "המכתב נשלח בהצלחה".

תנאי - if

ציטוט:

נכתב במקור על ידי DJ G.S
אגב, יש לי שאלה אחרת..


INSERT INTO tblName (column1,column2,column3...)
VALUES (val1,val2,val3)

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

תודה לכל העוזרים...

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

$var $_POST['VAR']; 

$VAR - זה המשתנה בוא הגדרנו את הערך של השדה VAR (שנרשם בתוך הסוגריים המורבעים)

ואז יש לך שאילתת msql-query
וגם הייתי ממליץ ללמוד SQL - w3schools - sql

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

בהצלחה :)

Gal Shafrir 25-01-06 22:18

אוקיי נגיד שהכל נשלח..
איך עושים טופס התחברות?

שקד 25-01-06 22:21

http://www.hosts.co.il/forums/showpo...8&postcount=18
להבא תעשה חיפוש קטן לפני שאתה שולח בקשה

תודה :)

Gal Shafrir 25-01-06 22:28

אוקיי תודה,

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

Parse errorparse errorunexpected T_ENCAPSED_AND_WHITESPACEexpecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/pop3667788/domains/gal.djoron.com/public_html/insert.php on line 61 

איך פותרים אותה?

שקד 25-01-06 22:39

ציטוט:

נכתב במקור על ידי DJ G.S
אוקיי תודה,

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

Parse errorparse errorunexpected T_ENCAPSED_AND_WHITESPACEexpecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/pop3667788/domains/gal.djoron.com/public_html/insert.php on line 61 

איך פותרים אותה?

תביא את הקוד, אני לא קוסם ...

Gal Shafrir 25-01-06 22:48

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

זה הקוד:
PHP קוד:

<p align="center"> 

<html dir=rtl>  
<head> <title> &auml;&oslash;&ugrave;&icirc;&auml; &igrave;&icirc;&aring;&ograve;&atilde;&aring;&iuml; &auml;&ccedil;&aacute;&oslash;&eacute;&iacute; </title><style>
}

textarea {
    font-family: Arial;
    font-size: 13px;
    color: #666666; 


input {
    font-family: Arial;
    font-size: 12px;
    color: #666666;

}

button {
    font-family: Arial;
    font-size: 13px;
    color: #FFFFFF;


</style></head> 
<body>  
<font color="#ffffff"  size=2 face="arial"> 
<form action="?insert" method=post>
<p align=center> <br>    
<table id="Table_01" width="235" height="350" border="0" cellpadding="0" cellspacing="0"> 
<center><td width="235" height="350" colspan="5" rowspan="17" bgcolor="#e1e1e1"> </center> 
<td width="225" height="50" colspan="6" rowspan="18" bgcolor="#808080"> 
    <form action="mail.php" method=post>
<p align=center> 
<font color="#e1e1e1"  size=3 face="arial"> <br> 
 <p align=center> &ugrave;&iacute; &icirc;&ugrave;&uacute;&icirc;&ugrave;:      <input type=text name=user_name></p> 
 <p align=center> &ntilde;&eacute;&ntilde;&icirc;&agrave;:   <input type=text name=pass></p>  
 <p align=center> &atilde;&aring;&agrave;"&igrave;:    <input type=text name=email></p> 
<p align=center><br></p> 
        <p align=center><input type=submit value= &auml;&oslash;&ugrave;&iacute;!></p>  
     </form>  </font> </p> </td></table> 
     </form>
 </body>
</html> <font color="#000000"> 
<?php  
mysql_connect 
('localhost''שם משתמש''סיסמא'); // connection to the database
mysql_select_db("pop3667788_friends"); 
echo 
"";  

if(
$_POST['user_name'] =="") {
if(
$_POST['pass'] =="") {
if(
$_POST['email'] =="") {
echo 
"יש פרטים שלא מולאו"
}
else
{  
echo 
"נרשמת בהצלחה"

                
$queryone "INSERT INTO users ('username', 'password','email); 
                 VALUES ($_POST['username'], $_POST['password'], $_POST['email'])"
;
                 
$result mysql_query($queryone); 
                      or die(
"Query failed: " mysql_error());


                 
mysql_close($connection);
?>

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

שקד 26-01-06 07:14

טוב קודם כל בבדיקה אם השדה ריק אתה עשית ככה:
PHP קוד:

 if($_POST['user_name'] =="") {
if(
$_POST['pass'] =="") {
if(
$_POST['email'] =="") {
echo 
"יש פרטים שלא מולאו"
}
else
{  
echo 
"נרשמת בהצלחה"

התנאי שאתה קבעת זה שאם user_name הוא ריק אז הוא יבדוק את pass.
אבל אם מכניסים ערך רק ב user_name ולא ב pass ולא ב email אז זה יעבור חלק, אתה צריך לדעת להשתמש באופרטורים:
operators ולדעת לעצור את הסקריפט(שהוא יפסיק לרוץ): exit,die
וכמובן אחרי שאתה פותח "{" אתה צריך גם לסגור ! "}"

שים לב שלא השתמשת פה ב mysql_query
PHP קוד:

                $queryone "INSERT INTO users ('username', 'password','email);
                 VALUES ($_POST['username'], $_POST['password'], $_POST['email'])"


והכנסת את זה פה, ואין לי מושג ממש למה, ועוד שלא הגדרת את $result
PHP קוד:

  $result mysql_query($queryone); 

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

$user_name $_POST['user_name'];
  
$pass      $_POST['pass'];
  
$email     $_POST['email'];

$queryone mysql_query("INSERT INTO `users` (user_name,password,email) VALUES ('$user_name','$pass','$email')") or die (mysql_error()); 


עקרונית זה אמור לעבוד.
אבל שם לב לעוד פרט מצד אחד אתה קורא ל - user_name ומצד שני ל- username שים לב לזה, בד"כ דברים כאלה יוצרים בעיות.

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

                  mysql_close($connection); 

ביגלל שהוא נסגר לבד בסוף הסקריפט.

אם יש משהו לא מובן בקוד, אתה מוזמן לשאול.
בהצלחה :)

BlueNosE 26-01-06 08:06

גם לא סגרת את התנאים כמו שצריך.
PHP קוד:

<?php   
mysql_connect 
('localhost''שם משתמש''סיסמא'); // connection to the database 
mysql_select_db("pop3667788_friends");  
echo 
"";   

if((
$_POST['user_name'] =="") or ($_POST['pass'] =="") or ($_POST['email'] ==""))//הפכתי את כל התנאים לתנאי אחד
{
echo 
"יש פרטים שלא מולאו";  

else 
{   
echo 
"נרשמת בהצלחה";  
/*להוסיף או פה סוגריים מסולסלות*/
}
                
$queryone "INSERT INTO users ('username', 'password','email);  
                 VALUES ($_POST['username'], $_POST['password'], $_POST['email'])"

                 
$result mysql_query($queryone);  
                      or die(
"Query failed: " mysql_error()); 


                 
mysql_close($connection); 
/*או פה*/
//}
?>



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

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