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

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



  #1  
ישן 09-09-2007, 17:01
  zippoxer zippoxer אינו מחובר  
 
חבר מתאריך: 01.09.07
הודעות: 88
פיגוע דוגמאת סקריפט fwrite ועוד כמה ברמה קצת יותר גבוהה (מיועד ללימוד)

עפ"י בקשה של אחד מהפורום נאלצתי "לנתח" את הסקריפט שלי שהמקור ממוקם בכתובת הבאה:
http://freeztil.forums-il.com/badlinker.php
הסקריפט נותן לכם לרשום 10-15 לינקים ועושה אותם כ-Iframes.
תנסו אותו תתרשמו ויש כאלה שאולי קצת ילמדו.
עכשיו זהו הסקריפט המעוצב והמשופר, אני באתי למטרה של ללמד את אלה שעדיין מתחילים\ממש קצת מעל.
הנה הסקריפט המנותח:
http://freeztil.forums-il.com/form.php

הסקריפט כולל 3 קבצי PHP:
  • form.php
  • write2.php
  • gateway-image.php
הform.php הוא טופס HTML בלבד, אך מכיוון שיש שם תמונת אימות (עוד לא התאמתי אותה) אז חייב שהוא עצמו יהיה PHP, לכל מי שיכול לסדר את זה אז תודה =]
וכאן אני ירשום את המקור שלו ויפרט קצת:
לקובץ הבא נקרא write2.php , הקובץ פותח עם פונקציית fopen וכותב עם fwrite את העמוד שיצרנו בעזרת הטופס, ונשים אותו באותה תיקייה שבא נשים את הטופס:

קוד:
<?php $center = '<center>'; $closecenter = '</center>'; $php = '.php'; $con = '<iframe src="'; $close = '" scrolling="auto" width=33% height=33% frameborder="1">'; $handle = fopen($filename."".$php, 'w'); chmod($filename."".$php, 0777); if (fwrite($handle, $center."".$closecenter."".$center."".$con."".$link1."".$close."".$con."".$link2."".$close."".$con."".$link3."".$close."".$closecenter) === FALSE) { echo "שם עמוד כבר תפוס"; exit; } echo "<BR><BR><Center><td><a href=\"$filename$php\"><b><font color=\"#FF0000\">לחץ כאן כדי להכנס ללינק שלך</font></b></a></td></Center><BR><b><font color=\"#150091\">$filename$php</font> :שם הקובץ שלך הוא<BR>"; fclose($handle); ?>


שימו לב המשתנים של הלינקים הם $link1 עד $link3 ובצדדיהם יש $con שהוא פותח את הקוד של האייפריים ו$close שהוא סוגר אותו.
משתני הlink 1-3 מותאמים למה שרשמנו בטופס, בעזרת הדוגמא הבאה:
קוד:
<input type="text" name="link1" maxlength="100">

זהו קטע HTML , ה-input type זה סוג ה"קטע" ובמקרה הזה הוא "text".
ה-"name" זה החלק שמשנה את המשתנים בקובץ write2.php.

המשתנה $filename הוא הקובץ שנפתח, ונכתוב עליו.
כדי לפתוח את הקובץ הזה הקלדנו את הקוד הבא:
קוד:
$handle = fopen($filename."".$php, 'w');

זהו המשתנה של הfopen, הפונקצייה הזו פותחת קובץ אם הוא קיים היא רק פותחת אותו, כמו שאנחנו עושים דאבל-קליק ואם הוא לא קיים היא יוצרת אותו משום מקום =]

עכשיו הפוקנציית fwrite כותבת על הקובץ $filename והיא משתמשת במשתנה של הfopen, הנה הקטע:
קוד:
if (fwrite($handle, $center."".$closecenter."".$center."".$con."".$link1."".$close."".$con."".$link2."".$close."".$con."".$link3."".$close."".$closecenter) === FALSE) { echo "שם עמוד כבר תפוס"; exit; }

שימו לב בכוונה העתקתי עוד קצת מסביב לקטע הזה, תכף נסביר. קודם כל הfwrite הולך ככה:
קוד:
fwrite ()

בין הסוגריים נרשום את התוכן שהfwrite ירשום לנו על הקובץ.

עכשיו תנאי if גם מופיעים שם, בוא נסביר עליהם בקצרה גם =]
אז מה שעשינו כאן זה:
קוד:
if (fwrite(XXXX) === FALSE)

בין הXXX רושמים את התוכן של הfwrite כמו שהסברתי, והIF זה תנאי, מזה אומר?
רשמנו:
קוד:
if (התנאי) === FLASE

פחות או יותר. וזה אומר שאם הfwrite === FALSE אז תהיה הודעת שגיאה.
הFALSE זה אומר = לא נכון\שגוי. שימו לב זוהי מילה גלובאלית בPHP ככה שחייב "===" ולא "==" וכל השאר...

אוקיי עכשיו הטופס שנקרא לו form.php בעזרתו נוכל להתאים את המשתנים של הלינק וכד'...
קוד:
<form action="write2.php" method="post"> <table align="right" bgcolor="#FFFFb0" border="1"> טופס למילוי: <TR> <TD><img src="gateway-image.php"</TD> <TD>: אנא הקלד במדויק את הקוד הבא </TD> </TR> <TR> <TD><input type="text" name="filename" maxlength="100"></TD> </TR> <TR> <TD>לינק 1 </TD> </TR> <TR> <TD> <input type="text" name="link1" maxlength="100"></TD> </TR> <TR> <TD>לינק 2 </TD> </TR> <TR> <TD> <input type="text" name="link2" maxlength="100"></TD> </TR> <TR> <TD> לינק 3</TD> </TR> <TR> <TD> <input type="text" name="link3" maxlength="100"></TD> </TR> </table> <input type="submit"> </form>


שימו לב שטופס הזה מפנה לwrite2.php בעזרת הקטעון הבא:
קוד:
<form action="write2.php" method="post">
הaction זה לאן הוא יפנה.

כפי שאמרתי התמונת אימות אינה מותאמת, למי שיכול שיגיב ויתן תקוד מסודר =]
מה שנקליד בתמונת האימות הוא ה$filename שדיברנו עליו בקובץ write2.php

עכשיו הgateway-image.php זה הסקריפט שעושה תתמונת אימות:
קוד:
<?php session_start(); $number = rand(1,999); //generate a random integer
קוד:
%4$s
SESSION['number'] = $number; //store in session variable $img_number = imagecreate(40,25); $backcolor = imagecolorallocate($img_number,0xcc,0xcc,0xcc); $textcolor = imagecolorallocate($img_number,255,255,255); imagefill($img_number,0,0,$backcolor); imagestring($img_number,10,5,5,$number,$textcolor) ; header("Content-type: image/jpeg"); imagejpeg($img_number); ?>


למי שהקוד לא עבד הקובץ getway-image.php שיראה תמקור כאן:
http://freeztil.forums-il.com/getway-image.txt

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

מאת משה.

נערך לאחרונה ע"י zippoxer בתאריך 09-09-2007 בשעה 17:21.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

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

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

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