Προς το περιεχόμενο

Πρόβλημα με Include στην php


emi_

Προτεινόμενες αναρτήσεις

Δημοσ.

Χαιρετώ!

Παιδιά θέλωνα κάνω επαναχρησιμοποίηση κώδικα, μια functio συγκεκριμένα. Γράφω τον εξής κώδικα αλλά καταλίγω να πέρνω μία λευκή σελίδαστον browser, ούτε καν σελίδα λάθους.:mad:

 

στην αρχική σελίδα:

 

>
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;
}
?>

 

Καμια ιδέα για το τι πάει λάθος?

Δημοσ.

>
<?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 πρώτη.

Δημοσ.

Ευχαριστώ πολύ για την απάντηση :) πολύ χρήσιμο αυτο με το error report!

 

Τώρα όλα τρέχουν αλλά έχω προσέξει πως η συναρτηση htmlspecialcharacter( $kapoia_metavliti) η οποία χειρίζεται ειδικούς χαρακτήρες (π.χ. το < να το κανει <) δεν δουλέυει. Η συναρηιση αυτή βρίσκεται στην function η οποία καλείτε απο include. Μπορεί να μην δουλεύει επειδή κάτι παίζει με το include ? Έχω δοκιμάσει τα πάντα και πάλι δεν δουλεύει.

 

Θα είμουν ευγνώμων για κάποια απάντηση.

Δημοσ.
Τώρα όλα τρέχουν αλλά έχω προσέξει πως η συναρτηση htmlspecialcharacter( $kapoia_metavliti) η οποία χειρίζεται ειδικούς χαρακτήρες (π.χ. το < να το κανει <) δεν δουλέυει.

 

Στον browser θα εμφανίζεται ως "<". Αν δεις όμως τον πηγαίο κώδικα της σελίδας, θα γράφει "<". Αυτός είναι και ο σκοπός της htmlspecialchars, να μπορείς να εμφανίσεις χαρακτήρες που έχουν ιδιαίτερη σημασία στην HTML (χρησιμεύει επίσης και για την αποφυγή XSS επιθέσεων).

Δημοσ.

Ναι τουποψιάστηκα απο ένα σημείο και μετά. Ευχαριστώ πολύ για τη βοηθειά σου.

 

P.S. είδα το site σου ειναι ωραίο :-)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...