מה שממש מוזר זה שפעם זה עבד... ועכשיו פתאום לא =\
בכל אופן מדובר פה על הצגת שגיאות בהרשמה... כל שגיאה שקורה בעת עיבוד הנתונים (המשתמש קיים כבר, הדוא"ל קיים כבר וכו') מתווספת למערך...
כמו שאפשר לראות פה: if ( isset( $_GET['validate'] ) ) { $error = array(); $vals = escapeThese($_POST); $users = new userManager(); if ( $users->exists( $vals['username'] ) ) { $error[] = 'User ' . $vals['username'] . ' is already registered!'; } elseif ( $users->mailExists( $vals['email'] ) ) { $error[] = 'The email address ' . $vals['email'] . ' already exists!'; } else { $users->register( $vals['username'], $vals['password'], $vals['email'], $vals['country'] ); header( "Location: index.php" ); } $why = parseErrors( $error ); }
|
עכשיו, הבעיה היא שהמערך אכן קיים, אבל $why נשאר ללא תוכן.
הפונקציה parseErrors:
function parseErrors ( $errors ) { $why = ""; if ( is_array( $errors ) ) { $j = 1; foreach ( $errors as $key => $error ) { $why .= "$j) <span>$error</span><br />"; $j++; } } else { $why = "<span>$errors</span>"; } return $why; }
|
פונקציה לא פונקציה, מערך לא מערך, הוא לא מציג את השגיאות!
לא משנה גם אם אני מציב את השורה שמבצעת את הפונקציה בראש הדף...
מה נשתנה הלילה הזה, מכל הלילות? כוס עמק.
תודה למי שיצליח לעזור לי פעם נוספת...
