emi_ Δημοσ. 17 Μαΐου 2008 Δημοσ. 17 Μαΐου 2008 Χαιρετώ! Παιδιά θέλωνα κάνω επαναχρησιμοποίηση κώδικα, μια functio συγκεκριμένα. Γράφω τον εξής κώδικα αλλά καταλίγω να πέρνω μία λευκή σελίδαστον browser, ούτε καν σελίδα λάθους. στην αρχική σελίδα: > if (array_key_exists('Submit',$_POST)) //otan patithei to Submit { include 'include.php'; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> //kai sinexizei i selida το include.php > <?php $metavliti= check($_POST['$form_var']); include 'function1.php'; ?> το αρχειο function1.php > <?php function check($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } ?> Καμια ιδέα για το τι πάει λάθος?
Foutrelis Δημοσ. 18 Μαΐου 2008 Δημοσ. 18 Μαΐου 2008 > <?php $metavliti= check($_POST['$form_var']); include 'function1.php'; ?> Καμια ιδέα για το τι πάει λάθος? Το πρόβλημα έγκειται στο ότι πρώτα χρησιμοποιείς τη συνάρτηση "check" και μετά κάνεις include το αρχείο με τη δήλωσή της. Αν είχες ενεργοποιήσει την αναφορά λαθών θα έπαιρνες "Fatal error: Call to undefined function check()". Για να εμφανίζονται τα λάθη βάλε στην αρχή του script σου: > error_reporting(E_ALL | E_STRICT); ini_set('display_errors', 1); Τέλος, η λύση είναι να βάλεις τη γραμμή με το include πρώτη.
emi_ Δημοσ. 19 Μαΐου 2008 Μέλος Δημοσ. 19 Μαΐου 2008 Ευχαριστώ πολύ για την απάντηση πολύ χρήσιμο αυτο με το error report! Τώρα όλα τρέχουν αλλά έχω προσέξει πως η συναρτηση htmlspecialcharacter( $kapoia_metavliti) η οποία χειρίζεται ειδικούς χαρακτήρες (π.χ. το < να το κανει <) δεν δουλέυει. Η συναρηιση αυτή βρίσκεται στην function η οποία καλείτε απο include. Μπορεί να μην δουλεύει επειδή κάτι παίζει με το include ? Έχω δοκιμάσει τα πάντα και πάλι δεν δουλεύει. Θα είμουν ευγνώμων για κάποια απάντηση.
Foutrelis Δημοσ. 20 Μαΐου 2008 Δημοσ. 20 Μαΐου 2008 Τώρα όλα τρέχουν αλλά έχω προσέξει πως η συναρτηση htmlspecialcharacter( $kapoia_metavliti) η οποία χειρίζεται ειδικούς χαρακτήρες (π.χ. το < να το κανει <) δεν δουλέυει. Στον browser θα εμφανίζεται ως "<". Αν δεις όμως τον πηγαίο κώδικα της σελίδας, θα γράφει "<". Αυτός είναι και ο σκοπός της htmlspecialchars, να μπορείς να εμφανίσεις χαρακτήρες που έχουν ιδιαίτερη σημασία στην HTML (χρησιμεύει επίσης και για την αποφυγή XSS επιθέσεων).
emi_ Δημοσ. 20 Μαΐου 2008 Μέλος Δημοσ. 20 Μαΐου 2008 Ναι τουποψιάστηκα απο ένα σημείο και μετά. Ευχαριστώ πολύ για τη βοηθειά σου. P.S. είδα το site σου ειναι ωραίο
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.