לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

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



  #1  
ישן 05-06-2007, 11:26
  san san אינו מחובר  
 
חבר מתאריך: 07.02.05
הודעות: 560
תראו אני מנסה לעשות מחיקה אבל יש בעיה

הקוד שרשמתה לי לא עובד

2.תראה ניסיתי לעשות ככה

דף הראשון של השליחה



קוד PHP:
<?php

 

$connection 
mysql_connect("localhost","root","")

   or die (
"couldn't connect to server ");

$db mysql_select_db("santavel"$connection)

   or die (
"couldn't connect database");

$query "SELECT * FROM massges";

$result mysql_query($query)

  or die (
"quert failed: " mysql_error());

echo 
"<TABLE BORDER='1' cellspacing='1'  bgcolor='#2D5886'>";

$I=0;

echo 
"

<TR>

<TD bgcolor='#294D74'><font color='#FFFFFF'>massage</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>send</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>mail</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>icq</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>date</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>time</font></TD>

</TR>

"
;

while (
$row mysql_fetch_array($result))

{

$I++;

$id $I;

$R $row['massge']; 

$R1 $row['send']; 

$R2 $row['mail']; 

$R3 $row['icq']; 

$R4 $row['date']; 

$R5 $row['time']; 

echo 
"<FORM METHOD='POST' ACTION='DEL1.php'>

<TR>

<TD bgcolor='#294D74'><INPUT TYPE='CHECKBOX' NAME='B(
$id)' Value='$R'><font color='#FFFFFF'> $R</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R1</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R2</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R3</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R4</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R5</font></TD>

</TR>

<BR>

 

 

"
;

}

echo 
"</TABLE>";

echo 
"<input type='submit' value='מחק'>

</form>"
;

 

mysql_close($connection)

 

?>


הדף השני שמקבל

קוד PHP:
<?php

$connection 
mysql_connect("localhost","root","")

   or die (
"couldn't connect to server ");

$db mysql_select_db("santavel"$connection)

   or die (
"couldn't connect database");

 

$M1 htmlspecialchars($_POST['B($I)']);

$query "DELETE FROM massges WHERE massge = '$M1'";

$result mysql_query($query)

  or die (
"quert failed: " mysql_error());

 

 

echo 
"<TABLE BORDER='1' cellspacing='1'  bgcolor='#2D5886'>";

$I=0;

echo 
"

<TR>

<TD bgcolor='#294D74'><font color='#FFFFFF'>massage</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>send</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>mail</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>icq</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>date</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'>time</font></TD>

</TR>

"
;

while (
$row mysql_fetch_array($result))

{

$I++;

$R $row['massge']; 

$R1 $row['send']; 

$R2 $row['mail']; 

$R3 $row['icq']; 

$R4 $row['date']; 

$R5 $row['time']; 

echo 
"<FORM METHOD='POST' ACTION='DEL1.php'>

<TR>

<TD bgcolor='#294D74'><INPUT TYPE='hidden' NAME='B(
$I)' Value='$R'><font color='#FFFFFF'> $R</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R1</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R2</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R3</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R4</font></TD>

<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R5</font></TD>

</TR>

<BR>

"
;

 

mysql_close($connection)

?>




זה לא עובד כי בדף השני כאן
$M1 = htmlspecialchars($_POST['B($I)']);
אין מספר אבל איך אני יכול לעשות שI מהדף הראשון שאני יךלחץ בו נגיד לימחוק את 5
אז זה ימחק...
ומישהו יכול להגיד לי עם יש מצב מה שאני ניסיתי לעשות יעבוד חח
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 05-06-2007, 16:37
  TroyA TroyA אינו מחובר  
 
חבר מתאריך: 22.12.06
הודעות: 90
בתגובה להודעה מספר 1 שנכתבה על ידי san שמתחילה ב "תראו אני מנסה לעשות מחיקה אבל יש בעיה"

אז ככה, בקשר להאם אפשר: הרעיון עובד השאלה אם כתבת נכון.

בקשר לקטע הראשון בנקום הקטע
קוד PHP:
 $query "SELECT * FROM massges";
$result mysql_query($query)
  or die (
"quert failed: " mysql_error()); 
הנך יכול לכתוב
קוד PHP:
 $result mysql_query("SELECT * FROM massges")    or die ("quert failed: " mysql_error()); 
כנ"ל בקטע השני עם ה delete
ובקשר לקטע השני תכתוב בנקום הקטע הבא:
קוד PHP:
 $M1 htmlspecialchars($_POST['B($I)']);
$query "DELETE FROM massges WHERE massge = '$M1'";
$result mysql_query($query)

  or die (
"quert failed: " mysql_error()); 
תכתוב
קוד PHP:
 $result mysql_query("SELECT massge  FROM massges")   or die ("quert failed: " mysql_error());

$a="B(";
$b=")";
while (
$row mysql_fetch_array($result))
{
$post=$a.$row['massge'].$b;
if (
$row[massge]==$_POST[$post])
  {
  
$id=$row['massge'];
  
$result mysql_query("DELETE FROM massges WHERE massge = '$id'") or die ("quert failed: " mysql_error());
  }

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

הערה: היה עדיף שתקרא ל B($id) בלי הסוגרים שהמספר אחרי כל התוים או לפניהם, יותר יעיל.
תכתוב אם יש בעיה/עובד ואם לא תבין משהו..

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 05-06-2007, 17:02
  san san אינו מחובר  
 
חבר מתאריך: 07.02.05
הודעות: 560
בתגובה להודעה מספר 2 שנכתבה על ידי TroyA שמתחילה ב "אז ככה, בקשר להאם אפשר:..."

לא עובד....
גבר תראה עשיתי ככה
דף ראשון
קוד PHP:
<?php

$connection 
mysql_connect("localhost","root","")
   or die (
"couldn't connect to server ");
$db mysql_select_db("santavel"$connection)
   or die (
"couldn't connect database");
$query "SELECT * FROM massges";
$result mysql_query($query)
  or die (
"quert failed: " mysql_error());
echo 
"<TABLE BORDER='1' cellspacing='1'  bgcolor='#2D5886'>";
$I=0;
echo 
"
<TR>
<TD bgcolor='#294D74'><font color='#FFFFFF'>massage</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'>send</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'>mail</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'>icq</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'>date</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'>time</font></TD>
</TR>
"
;
while (
$row mysql_fetch_array($result))
{
$I++;
$id $I;
$R $row['massge']; 
$R1 $row['send']; 
$R2 $row['mail']; 
$R3 $row['icq']; 
$R4 $row['date']; 
$R5 $row['time']; 
echo 
"<FORM METHOD='POST' ACTION='DEL1.php'>
<TR>
<TD bgcolor='#294D74'><INPUT TYPE='CHECKBOX' NAME='B1' Value='
$R'><font color='#FFFFFF'> $R</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R1</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R2</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R3</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R4</font></TD>
<TD bgcolor='#294D74'><font color='#FFFFFF'> 
$R5</font></TD>
</TR>
<BR>
"
;
}
echo 
"</TABLE>";
echo 
"<input type='submit' value='מחק'>
</form>"
;

mysql_close($connection)
 
?>



דף שני
קוד PHP:
<?php
$connection 
mysql_connect("localhost","root","")
   or die (
"couldn't connect to server ");
$db mysql_select_db("santavel"$connection)
   or die (
"couldn't connect database");
$query "SELECT * FROM massges";
$result mysql_query($query)
  or die (
"quert failed: " mysql_error());
$M1 htmlspecialchars($_POST['B1']);
$M2 htmlspecialchars($_POST['B12']);
$M3 htmlspecialchars($_POST['B22']);
$M4 htmlspecialchars($_POST['B32']);
$query "DELETE FROM massges WHERE massge = '$M1'";
$result mysql_query($query)
  or die (
"quert failed: " mysql_error());
 
echo 
"$M1 $M2 $M3 $M4 del";
mysql_close($connection)
?>

אבל אני עם אני מסמן 2 זה מוחק לי רק אחד מהם....
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 05-06-2007, 17:22
  TroyA TroyA אינו מחובר  
 
חבר מתאריך: 22.12.06
הודעות: 90
בתגובה להודעה מספר 3 שנכתבה על ידי san שמתחילה ב "לא עובד.... גבר תראה עשיתי..."

התכוונתי שתשנה את B($id) ל B$id או משהו כזה ( תשנה אותו ל B$R על מנת שיעבוד נכון )
דבר נוסף בקטע השני המחיקה מופיע רק פעם אחת ולכן היא תמחוק רק דבר אחד ולכן תשתמש בלולאה:
קוד PHP:
 $result mysql_query("SELECT massge  FROM massges")   or die ("quert failed: " mysql_error());

while (
$row mysql_fetch_array($result))
{
$post="B".$row['massge'];
if (
$row[massge]==$_POST[$post])
  {
  
$id=$row['massge'];
  
$result mysql_query("DELETE FROM massges WHERE massge = '$id'") or die ("quert failed: " mysql_error());
  }

הבדיקה ב if נעשת על מנת לבדוק אם סימנת את מספר הודעה מסויימת או לא ($R בקטע הראשון)

בנקום
קוד PHP:
 $query "SELECT * FROM massges";
$result mysql_query($query)
  or die (
"quert failed: " mysql_error());
$M1 htmlspecialchars($_POST['B1']);
$M2 htmlspecialchars($_POST['B12']);
$M3 htmlspecialchars($_POST['B22']);
$M4 htmlspecialchars($_POST['B32']);
$query "DELETE FROM massges WHERE massge = '$M1'";
$result mysql_query($query)
  or die (
"quert failed: " mysql_error()); 
למה לבקש את כל השדות אם על מנת למחוק הנך צריך רק את השדה
massge?
בנוסף גם אם המחיקה באותו דף המראה את כל ההודעות נראה לי שעליך לכתו אחרי כל המחיקות
$result = mysql_query("SELECT * FROM massges") על מנת שלא יציג את מי שמחקת באותו טעינת דף.
ורק כדי להיות בטוח - massges הוא מספר ההודעה נכון?

מה הפקודה htmlspecialchars עושה?

נערך לאחרונה ע"י TroyA בתאריך 05-06-2007 בשעה 17:32.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 05-06-2007, 19:19
  TroyA TroyA אינו מחובר  
 
חבר מתאריך: 22.12.06
הודעות: 90
בתגובה להודעה מספר 9 שנכתבה על ידי san שמתחילה ב "1.אני עשיתי את זה פשוט בטבלה..."

אז כהה הוא באמת יעבוד וימחק רק שורה אחת.
על מנת התוכל למחוק מספר קבצים הנך צריך שם אחר לכול תיבה וכאן מגיע המספר של התיבה
בשביל שיהיה ניתן לזהות איזה שדה צריך למחוק בהמשך נשתמש במספר של השדה ליד B
קוד PHP:
 <INPUT TYPE='CHECKBOX' NAME='B$R' Value='$R'>
// ולא
<INPUT TYPE='CHECKBOX' NAME='B1' Value='$R'>
// ולא
<INPUT TYPE='CHECKBOX' NAME='B$id' Value='$R'>
// כי דרך זו יותר מסובכת ופחות יעילה $id שווה 1,2,3,4... בלי קשר לשדה 

כי אם אתה קורא לשם ספציפי כמו B1 הוא יכול לתת לך רק תוצאה אחת כלומר מחיקת סימון אחד בלבד.
( אני מניח שהסימון האחרון הוא זה שנמחק כי שווי ה B1 משתנה ונשאר שווה לסימון האחרון )
מה שאני עשיתי זה בעצם לבדוק האם המסומן הוא $_POST[B$R] כלומר לתיבה הראשונה יהיה שם אחר מהתיבה השניה.
אם ה POST קיים (למשל יהיה שווה ל 5 כי $R באותו תיבה שסימנתי יהיה שווה ל 5 ) וכאשר אותו POST שווה למספר השדה שסומן למחוק ימחק ואם הוא לא שווה לאותו שדה הוא לא ימחק בדיוק כמו שכתבתי בקוד:

קוד PHP:
 $result mysql_query("SELECT massge  FROM massges")   or die ("quert failed: " mysql_error());

while (
$row mysql_fetch_array($result))
{
$post="B".$row['massge'];
if (
$row[massge]==$_POST[$post])
  {
  
$id=$row['massge'];
  
$result mysql_query("DELETE FROM massges WHERE massge = '$id'") or die ("quert failed: " mysql_error());
  }


אנו רוצים למחוק אז הפקודה ההתחלתית היא לבדוק את כל מספרי ההודעות הקיימים ולפי השורה הבאה
$post="B".$row['massge'];
כלומר נניח שהתוצאה הראשונה של השדה הוא 5 אז
$post יהיה שווה B5 ואז נבדוק האם ה $_POST שלו שווה ל 5 ( ה VALUE של CHECKBOX) בעזרת ה IF אם כן זה אומר שקיים $_POST[$post]=5 כלומר את סימנת את ה CHECKBOX בשם B5
אם זה לא קיים זה אומר שלא סימנת...
מקווה שזה ברור אם לא תבין תשבור את הראש 10-20 דקות להבין לבד ואף לבדוק שזה פועל ( אולי אז תצליח להבין ) זה צריך לעבוד...
בכל מקרה אם לא תבין אחר כך משהו תוכל לשאול...

בנוסף דבר כזה פריץ ולכן עליך לתת אפשרות למחוק רק אם תכנס למערכת ( משתמש וסיסמה לאתר כמו פורום ולבדוק זאת בנוסף ע"י העוגיה של המשתמש שנכנס למערכת ) אם לא הבנת עזוב אתה תבין בהמשך ניסוייך עם php
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

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

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 17:21

הדף נוצר ב 0.06 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2026 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר