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

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

LosNir 27-11-06 18:02

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

PHP קוד:

<?
echo "This is some output.... bla bla bla bla bla....<br />";
Die(
"Error!");
?>

אם אני יריץ את הקוד הזה, אני יקבל כפלט:

קוד:

This is some output.... bla bla bla bla bla....
Error!

אני מעוניין שזה יציג רק Error!, יש הצעות?

* איני מעוניין להשתמש ב ob.

miniature 27-11-06 18:08

לא ממש הבנתי אותך.. תביא דוגמא לקוד או משהו..

Alon.R 27-11-06 18:09

תמחוק את הecho? :D

חחחחח סתם...
אממ אני חושב שאני מבין למה אתה צריך את זה..

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

LosNir 27-11-06 18:14

ציטוט:

נכתב במקור על ידי Alon.R (פרסם 380681)
תמחוק את הecho? :D

חחחחח סתם...
אממ אני חושב שאני מבין למה אתה צריך את זה..

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

בדיוק

forils 27-11-06 18:20

PHP קוד:

<? 
echo "This is some output.... bla bla bla bla bla....<br />"
Die 
'Error!'
?>


miniature 27-11-06 18:26

ציטוט:

נכתב במקור על ידי LosNir (פרסם 380687)
בדיוק

שוב, תביא דוגמא לקוד ..

LosNir 27-11-06 18:27

ציטוט:

נכתב במקור על ידי forils (פרסם 380694)
PHP קוד:

<? 
echo "This is some output.... bla bla bla bla bla....<br />"
Die 
'Error!'
?>


גם נותן שגיאה וגם לא קשור |Stare|

RS324 27-11-06 18:30

איזה הסתבכות....

ob_start();

ob_get_contents();

ob_end_clean()

miniature 27-11-06 18:33

ציטוט:

נכתב במקור על ידי RS324 (פרסם 380707)
איזה הסתבכות....

ob_start();

ob_get_contents();

ob_end_clean()

ציטוט:

נכתב במקור על ידי LosNir
* איני מעוניין להשתמש ב ob.

...

Alon.R 27-11-06 18:35

ציטוט:

נכתב במקור על ידי LosNir (פרסם 380687)
בדיוק

קצת הגיון בנאדם :D
זה דבר פשוט מאוד,

אתה שם בתוך משתנה $text את כל התוכן
כשאתה רוצה להוסיף למשתנה אתה עושה ככה את ההשמה:
PHP קוד:

$text .= "...."

או ככה:

PHP קוד:

$text += "...."

אני לא זוכר אם זה עם + או .
אני מתבלבל בין שפות אחרות..

ואז אתה שם לכל פונקציה or die("Error!!")

ובסוף הסקריפט אתה עושה echo $text;

Rom 27-11-06 18:35

תעשה את הבדיקה לפני הוצאת הפלט

LosNir 27-11-06 18:38

אני לא יכול לעשות את הבדיקה לפני הוצאת הפלט,
והפלט הוא כל המערכת, אני לא יכול לשים אותו במשתנה |Lol|

DCB 27-11-06 19:15

PHP קוד:

$text "some text... bla bla bla...";
echo 
$text or die("Error"); 

ואם אתה רוצה לבדוק משהוא

PHP קוד:

$text1 "bla bla";
$text $text1."some text... bla bla bla...";
if(
$text == "what ever")
   echo 
$text or die("Error"); 


LosNir 27-11-06 19:21

ציטוט:

נכתב במקור על ידי DCB (פרסם 380735)
PHP קוד:

$text "some text... bla bla bla...";
echo 
$text or die("Error"); 

ואם אתה רוצה לבדוק משהוא

PHP קוד:

$text1 "bla bla";
$text $text1."some text... bla bla bla...";
if(
$text == "what ever")
   echo 
$text or die("Error"); 


לא קשור,
אני לא אמרתי שהשגיאה היא שגיאה של הפלט שלפני }-]

פשוט אני צריך פקודה שתמחק את הפלט!

בניה 27-11-06 20:15

אין כזה דבר..
אם אתה לא משתמש ב ob אז הפלט נשלח מייד אחרי הecho ולא מחכה לסיום עיבוד הדף.
השיטה של הכנסת כל הפלט הרצוי למשתנה היא הכי ניתנת לשליטה מצדך, אני אישית עובד איתה(וגם IBP ואני לא אתפלא שגם VB)

LosNir 27-11-06 20:56

ציטוט:

נכתב במקור על ידי בניה (פרסם 380780)
אין כזה דבר..
אם אתה לא משתמש ב ob אז הפלט נשלח מייד אחרי הecho ולא מחכה לסיום עיבוד הדף.
השיטה של הכנסת כל הפלט הרצוי למשתנה היא הכי ניתנת לשליטה מצדך, אני אישית עובד איתה(וגם IBP ואני לא אתפלא שגם VB)

אבל הקטע הוא שהפלט הזה הוא המערכת, אני לא יכול להכניס את המערכת למשתנה :S
תיראה, אני עושה "טעינה" של התפריט ע"י הוצאת השורות מהטבלה pages שבשדה show מוצב הערך 1, ז"א:

PHP קוד:

SELECT FROM pages WHERE show 

מבין?

ואני עושה תנאי שאם לא נמצאו שורות אז יש שגיאה, אבל לפני שהתפריט נטען נטענו כבר הכותרת והבלוקים והכל.. מבין? (אם אתה לא מבין אז קרא שוב, זה קצת ארוך אבל אין לי עצבים להסביר שוב |קורץ| )

sUP 27-11-06 20:59

נו אמרתי לך כבר בפעם הראשונה שששאלת חח
למה להסתבך..


מה הבעיה להשתמש ב ob_clean וזהו?!

Tomer 27-11-06 21:07

תגידו, אתם קראתם את השאלה לפני שהגבתם ?

LosNir, קוד לדוגמא עם הסברים:
PHP קוד:

$output = @file_get_contents("file.txt");
if (!
$output) die("xyz"); 

השורה הראשונה לוקחת את התוכן של הקובץ ע"י הפונקציה, וה @ מוחק את הפלט שגיאה שלה.
השורה השניה בודקת אם output מוגדר, אם לא - מדפיסה שגיאה

mlnn 27-11-06 21:10

תמיד אפשר לעשות רידירקט לאיזה דף שגיאה.

בניה 27-11-06 21:26

נכון כל הדפסה זה בעצם פקודת ECHO?
אז נגיד יש לך
PHP קוד:

$res=mysql_query("SELECT data FROM tbl");
while(
$row=mysql_fetch_array($res))
    {
        echo 
"מידע".$row['data'];
    } 

אז תעשה:

PHP קוד:

$res=mysql_query("SELECT data FROM tbl");
while(
$row=mysql_fetch_array($res))
    {
        
$output "מידע".$row['data'];
    } 

ואם אתה רוצה שגיאה פשוט עשה die עם מה שאתה רוצה ובסוף הדף תעשה הדפסה.

LosNir 27-11-06 22:23

עזבו לא משנה..
אפשר לנעול.

Tomer 27-11-06 22:40

ציטוט:

נכתב במקור על ידי LosNir (פרסם 380863)
עזבו לא משנה..
אפשר לנעול.

התגובה שלי עם ה "@" לא עזרה ?

LosNir 28-11-06 17:28

ציטוט:

נכתב במקור על ידי Tomer (פרסם 380886)
התגובה שלי עם ה "@" לא עזרה ?

לא |:

אתם לא הבנתם אותי בכלל |דמעות|

Alon.R 28-11-06 18:38

LosNir
אני הבנתי אותך..
פשוט תנסה, להחליף את כל הecho במה שנתתי לך..

תנסה אולי להסביר את עצמך יותר טוב

Matchs 28-11-06 19:15

כולנו הבנו.
זה לא-אפשרי.


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

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