უღვთო ინფორმაციის სათაურები. რა არის Http სათაურები? ზაგალნის თეორია. შესწორებები ვერ ცვლის სათაურის ინფორმაციას - სათაურები უკვე გაგზავნილია

გასაოცარია, რამდენად მცირე პრობლემამ შეიძლება გამოიწვიოს თქვენი WordPress საიტის სრული ფუნქციონირება. ჩვენ ვსაუბრობთ, უპირველეს ყოვლისა, ცნობილ WordPress დანამატზე გაფრთხილება: არ შეიძლება სათაურის ინფორმაციის შეცვლა - სათაურები უკვე გაგზავნილია pluggable.php-ის მიერ (ვერ შეიცვლება სათაურის ინფორმაცია). რაკი შენ ერთ-ერთი იმათგანი ხარ, ვინც ამ მიჯნურს შეეგუა, მაშინ მისამართისთვის მოხვედი. ამ შემთხვევაში პირველ რიგში განვიხილავთ ამ პრობლემის გაჩენის მიზეზს და როგორ ვუყურებთ მას პრობლემის მოსაგვარებლად.

რაც საჭიროა

დაწყებამდე, შეამოწმეთ ხელმისაწვდომობა მომავალი:

  • წვდომა თქვენს ჰოსტინგის მართვის პანელზე ან FTP წვდომაზე

როგორ დავადანაშაულოთ ​​სათაურის ინფორმაციის შეცვლა შეუძლებელია - სათაურები უკვე გაგზავნილია

მოდით შევხედოთ ამ აქტის მაგალითს, რათა უკეთ გავიგოთ მიზეზები. შეწყალება უნდა გამოჩნდეს შემდეგი ფორმით:

გაფრთხილება: სათაურის ინფორმაციის შეცვლა შეუძლებელია - სათაურები უკვე გაგზავნილია (გამომავალი დაწყებულია /public_html/wp-content/plugins/my-plugin/my-function.php:#) მისამართზე /public_html/wp-includes/pluggable.php ონლაინ #

მოგეხსენებათ, შუაში ორი ფაილია. პირველი ფაილი (ჩვენს vipadka-ში: my-function.phpსაცხოვრებლები /Public_html //wp-content/plugins/my-plugin/) ეჭვის საფუძველზე. ეს არის ჩვენი ორიგინალური კოდი, რომელიც გამოიყენება WordPress-ის მიერ მოწოდებული ძირითადი ფუნქციების შესაცვლელად. ბირთვის ფუნქციონირება შეიცავს ფაილს ჩამრთველი.php(WordPress-ის ძირითადი ფაილი, უცვლელი ყველასთვის WordPress ინსტალაციები). სხვა სიტყვებით რომ ვთქვათ, პრობლემა პირველ ფაილშია, რომელიც არ აძლევს საშუალებას სხვა ფაილს სწორად დასრულდეს.

შეწყალების მთავარი მიზეზი პირობაა გასუფთავება პირველ ფაილში. ეს ხარვეზები არის ფაილის ბოლოში ან ბოლოში, არასაჭირო ხარვეზები ყოველთვის არის ფაილში ან არის ხარვეზები PHP ტეგებში. . სანამ სიტყვას, პროგრამებს შეუძლიათ (და თქვან ასე და მოელიან ამას) ჩუმად ჩასვან ხარვეზების განცხადებები თავიანთ კოდში, ეს შეცდომა ყველაზე ხშირად ჩნდება, მაგრამ მისი აღმოჩენა ვერ მოხერხდა. რიგი #, რომელიც მითითებულია საშუალების შესახებ შეტყობინებაში, გამოიყენება პრობლემის მოგვარების პროცესში - ეს დაგეხმარებათ პრობლემის უფრო სწრაფად და აურზაურის გადაჭრაში.

შესწორებები ვერ ცვლის სათაურის ინფორმაციას - სათაურები უკვე გაგზავნილია

ახლა, თუ იცით რა არის შეტყობინება, შეგიძლიათ გააგრძელოთ მისი გამოსწორება. ჩვენ გაჩვენებთ ამ პრობლემის გადაჭრის ორ ვარიანტს, რომელიც შეგიძლიათ სცადოთ პირდაპირ ან ალტერნატიულად, თუ ეს არ დაგვეხმარა.

ვარიანტი 1 - არასწორი ფაილის რედაქტირება

რძის კოქტეილის პირველი ვერსია გაფრთხილება: სათაურის ინფორმაციის შეცვლა შეუძლებელია- ფაილის ხელით შესწორება ნებართვით. თქვენ უკვე აშკარად გაქვთ საჭირო ინფორმაცია პრობლემის იდენტიფიცირებისთვის თავად ფაილის შესახებ შეტყობინებაში (მეხსიერება, შეტყობინებაში პირველი ფაილი). ყველაფერი რაც თქვენ უნდა გააკეთოთ არის ფაილის გახსნა FTP-ის საშუალებით, vikoryst კლიენტის გამოყენებით FileZilla-ს ან ფაილების მენეჯერის მეშვეობით.

არსებითად, ყველაფერი, რაც აქ უნდა გაკეთდეს, არის ფაილში გასუფთავებული უბნების / ცარიელი რიგების შეგროვება. გარნის ადგილი კობოსთვის იქნება რიგით #, როგორც აღნიშნულია კვების შესახებ ინფორმაციაში. აქედან შეგიძლიათ გააგრძელოთ სხვა ფაილის ძებნა სხვა არასაჭირო გაწმენდის ან ცარიელი რიგების მოსაძებნად დოკუმენტის ბოლომდე.

შეამოწმეთ PHP დაწყების და დასრულების ტეგების სწორი მართლწერა. არ არის საჭირო ტეგის წინ ან მის შემდეგ ადგილის დატოვება , იგივეა, რაც ტეგი ?> . ასევე, კოდის დარჩენილი მწკრივი არ უნდა დასრულდეს მწკრივის გამოტოვებით ან სრული შებრუნებით.

ქვემოთ მოცემულ ეკრანის სურათზე შეგიძლიათ ჩამოტვირთოთ ფაილი wp-config.php, რომელშიც არის უფსკრული პირველი PHP ტეგის წინ.


მინიშნება: უ ბაღატიო ტექსტის რედაქტორებითქვენ შეგიძლიათ ავტომატურად წაშალოთ არასაჭირო პასები. მაგალითად, Atom რედაქტორში რაიმე ხარვეზის მოსაშორებლად, იხილეთ ყველა კოდი და გადადით P ackages -> Whitespace -> Remove Trailing Whitespace.

ვარიანტი 2 - შეცვალეთ გაუმართავი ფაილი

რა თქმა უნდა, ფაილების მთელი სერიის რედაქტირება ცვლილებებით შეიძლება რთული იყოს. ფაილები შეიძლება დაინსტალირდეს თქვენს საიტზე დაინსტალირებული მოდულის ან თემების წინ, ან მათი ჩატვირთვა WordPress-ის ძირითადი ფაილებით.

თუ აპლიკაცია ეფექტურად არის გააქტიურებული მოდულით ან თემით, ყველაფერი, რაც უნდა გაკეთდეს, არის მისი ხელახლა ინსტალაცია. ეს ქმედება უმეტეს შემთხვევაში ეხმარება. მეორეს მხრივ, რადგან WordPress-ის ძირითადი ფაილი არის ცვლილების მიზეზი, უკეთესი გადაწყვეტილებებისთვისაიღეთ WordPress-ის სუფთა ასლი და შეცვალეთ minion ფაილი თქვენს ინსტალაციაში იგივე საცნობარო ვერსიაში. ეს გარანტიას იძლევა, რომ გაუმართავი განახლების ფაილი შედის კობის წისქვილიროგორც კი თქვენი WordPress საიტი ხელახლა დაინსტალირდება, ის დაკარგავს მთლიანობას და კონფიდენციალურობას. ახლა, უბრალოდ ხელახლა ჩართეთ გვერდი და ხელახლა გადააკეთეთ, რომ ნახოთ, რომ შეცდომა გამოსწორებულია.

დასრულებისას

იმისდა მიუხედავად, ჩადეთ კოდის ნაწილი ფაილში, დაამატეთ ახალი დანამატი/თემა ან დაწერეთ კოდი ხელით, არსებობს საფრთხე, რომ ფაილში ხარვეზები გამოჩნდეს. როგორც ჩანს, უდანაშაულო გაწმენდები, მათ შეეძლოთ შემობრუნება სხვათა შორის WordPress გაფრთხილება: სათაურის ინფორმაციის შეცვლა შეუძლებელია - სათაურები უკვე გაგზავნილია.

ვისზეც ზრუნავს, ჩვენ გადავხედეთ, როგორ გამოვასწოროთ ასეთი შეცდომები და ახლა თქვენი საიტი ისევ მუშაობს, როგორ გააკეთოს ეს. თქვენ შეგიძლიათ იპოვოთ მეტი ადამიანი WordPress-დან.

ავტორი

ოლენას აქვს პროფესიული ტექნიკური ცოდნა ამ სფეროში საინფორმაციო ტექნოლოგიებიდა პროგრამირების მტკიცებულება სხვადასხვა ენაზე სხვადასხვა პლატფორმებისა და სისტემების ქვეშ. მან 10 წელზე მეტი დაუთმო ვებ სფეროს, მუშაობს სხვადასხვა CMS-თან, როგორიცაა: Drupal, Joomla, Magento და ამ დღეებში ყველაზე პოპულარული კონტენტის მართვის სისტემა - WordPress. ეს სტატიები ყოველთვის ტექნიკურად დამოწმებული და ზუსტია, იქნება ეს WordPress-ის მიმოხილვა თუ თქვენი VPS სერვერის დაყენების ინსტრუქცია.

ამ ინფორმაციას გაუქმების შესახებ ხშირად აზიარებენ პროგრამები, რომლებიც იწყებენ PHP-ის გამოყენებას. იმის გაგება, თუ რას მოიცავს ეს დასახლება, დაგეხმარებათ იპოვოთ გამოსავალი.

PHP მუშაობს უამრავ რობოტზე, რათა შექმნას ვებ გვერდები თქვენთვის, თქვენი შეწუხების გარეშე. ვებ გვერდი შედგება ორი ნაწილისაგან: სათაური და ძირითადი.

ეს გაფართოებული PHP მოდიფიკაცია თავიდან უნდა იქნას აცილებული, თუ პროგრამა იყენებს მოდიფიკაციებს სათაურების მანიპულირების ან შექმნისას. ღერძის კონდახი:

გაფრთხილება: ვერ მოხერხდება სათაურის ინფორმაციის შეცვლა - სათაურები უკვე გაგზავნილია (გამომავალი დაწყებულია /home/usr1/public_html/sent.php:42) მისამართზე /home/usr1/public_html/includes/theme-header.php მე-12 ხაზზე.

როგორც წესი, თქვენ არ გჭირდებათ ფიქრი სათაურზე, რადგან სათაური ავტომატურად გენერირებულია და შეიცავს ინფორმაციას საიტის, სერვერების და ქუქიების შესახებ. სათაურში მოცემული ინფორმაცია მნიშვნელოვანია, მაგრამ კორისტუვაჩევას ნახვას ვერ შეძლებთ. კონდახის ღერძი:

თარიღი: ორშაბათი, 2006 წლის 10 ივლისი, 18:51:59 GMT სერვერი: Apache / 2.2.0 (Unix) mod_ssl / 2.2.0 OpenSSL / 0.9.7 გ Content-Encoding: gzip Content-Type: text / html

ზოგიერთ პროგრამას სურს შეცვალოს სათაურის ზოგიერთი მნიშვნელობა. მაგალითად, ვინაიდან PHP აწარმოებს XML მონახაზებს, Content-Type ექვემდებარება ცვლილებებს ამის მითითების მიზნით. კიდევ ერთი მოწინავე მეთოდია მომხმარებლის ბრაუზერის სხვა ვებსაიტზე გადამისამართება დამატებითი მდებარეობის სათაურის ელემენტის გამოყენებით, როგორც ეს აღწერილია ამ სტატიაში.

სათაური პირველი უნდა იყოს ვებ სერვერის გამოსავალში და გამოჩნდეს ტექსტის გვერდით ერთ ცარიელ რიგში. ამ კომპრომისის მიზეზი არის ის, რომ ვებ გვერდის ძირითადი ნაწილი გაეგზავნა მომხმარებელს სათაურის მნიშვნელობების დაყენებამდეც კი. PHP ბევრ პრობლემას მოგიგვარებთ, პრობლემა შესაძლოა სასწრაფო დახმარების ოთახში იყოს. ჩანართის ღერძი პრობლემის მოსაძებნად:

  1. იპოვეთ header() ინსტრუქცია, რომელიც იწვევს პრობლემას. შეწყალება ხდება ამ ხაზზე ან მის წინ.
  2. ყურადღება მიაქციეთ ნებისმიერ ინსტრუქციას, რომელიც დაგეხმარებათ სათაურის სწორ ინსტრუქციებზე. თუ თქვენ იპოვეთ ერთი ან მეორე, შეცვალეთ კოდი, რომ გადაიტანოთ სათაურის ინსტრუქცია მათ წინ. დასაკეცი ჭკვიანი ოპერატორებიმათ შეუძლიათ პრობლემის გადაჭრა, მაგრამ ასევე შეუძლიათ დაეხმარონ პრობლემის მოგვარებას. ალტერნატიულად, შეგიძლიათ განათავსოთ იგი PHP სკრიპტის ზედა ნაწილში, რაც ნიშნავს სათაურის მნიშვნელობებს ადრე და ჩასვით იქ.
  3. შეამოწმეთ, რომ არ არის ხარვეზები თავსა და ბოლო PHP ტეგებს შორის. ამ დროს კობ ტეგის წინ ცარიელი რიგია
  4. თუ თქვენ შეინახავთ თქვენს ფაილს UTF-8 კოდირებით, თქვენ იძულებული იქნებით შეინახოთ ფაილი ხელმოწერის გარეშე (BOM-ის გარეშე). ხელმოწერა არის ბაიტი, რომელიც იგზავნება ფაილის წინა მხარეს და თუ PHP სკრიპტი შენახულია ამ ფორმატში, მაშინ ეს ბაიტი მიიღება, როგორც გვერდის ნაჩვენები სხეულის ნაწილი, რომელიც არ შეიძლება დაშვებული იყოს აღმოსაფხვრელად. პრობლემა ჩვენ განვიხილეთ.

უხერხულია qiu სიცოცხლისუნარიანობის შეწყალება.
ხშირად იგივე შეტყობინება ჩნდება სესიების დასაწყისში, ოდნავ განსხვავებული ფორმით:
გაფრთხილება: სესიის ქუქი-ფაილის გაგზავნა შეუძლებელია - სათაურები უკვე გაგზავნილია
გაფრთხილება: სესიის ქეშის შემზღუდველის გაგზავნა შეუძლებელია - სათაურები უკვე გაგზავნილია

ბაიტის ორდერის ნიშანი
შემდეგ თქვენ შეამოწმეთ ყველაფერი - იქ არაფერია. რედაქტორის შეცვლა. იხილეთ თქვენი ფაილი სხვა პროგრამაში. მაგალითად, Windows Notepad, Unicode კოდირების გამოყენებისას, ამატებს სერვისის სიმბოლოს Byte Order Mark თქვენი ფაილის ზედა ნაწილში, მისი ხილვის გარეშე. გახსენით სკრიპტი სხვა რედაქტორში და წაშალეთ მესამე მხარის სიმბოლოები. შეცვალეთ Notepad სხვა რედაქტორზე.
ან შეინახეთ UTF-8 კოდირებით BOM-ის გარეშე

ფორუმზე ციფრული არხები ჩემთვის რთულია, აქ იმუშავე პატივისცემით:
როგორც ჩანს, ეს წყალობა არანაირად არ არის განპირობებული იმით, რომ თქვენს სცენარში „რა წერია უკეთესად“. გარდა ამისა, PHP უნდა იყოს ნაჩვენები ბრაუზერში. ეს არ არის მარტივი კოდი. წე მოჟე ბუტი შეტყობინება ცვლილებების შესახებ. თქვენ შეიძლება დაარღვიეთ HTML ტეგი. Ისე რა. მათთვის, ვინც ახალია: მე ვსაუბრობ ბრაუზერში გაგზავნილ ნებისმიერ სიმბოლოზე და არა მხოლოდ იმაზე, თუ რას უჩვენებს ბრაუზერი არაინფორმირებულ მომხმარებელს. HTML გვერდებს აქვთ გამომავალი ტექსტი. და ეს არის PHP სკრიპტის შედეგი და არა ლამაზი ასო სურათებით, როგორც ბევრი ფიქრობს.

დღეს ჩვენ მივიღეთ ინფორმაცია იმ მნიშვნელობის შესახებ "გაფრთხილება: არ შეიძლება სათაურის ინფორმაციის შეცვლა - სათაურები უკვე გაგზავნილია (გამომავალი დაიწყო / სახლში / ...", რაც გამოჩნდა საიტის გვერდზე მისი მთავარის ნაცვლად.
როგორც აღმოჩნდა, ამ თემაზე საკმარისად მაინც დაიწერა, მაგრამ არ არსებობს ოფიციალური ინსტრუქცია იმის შესახებ, თუ რას ნიშნავს ეს ყველაფერი და როგორ უნდა მოიქცეთ.
ჩვენ გვინდოდა რამდენიმე წვეთი დაგვემატებინა ინფორმაციის დიდ ზღვაში ამ თემაზე, რომელთაგან ზოგიერთი განსაკუთრებით ამ პრობლემას ეხებოდა.

ცოტა ხნის წინ, ჩვენ გადავიტანეთ რამდენიმე კლიენტის საიტი ერთი ჰოსტინგიდან მეორეზე.
ყველაფერი კარგად იყო, საიტები ხელმისაწვდომი იყო, მაგრამ როცა სცადეთ, შედით ადმინისტრატორში. პანელი, თქვენი შესვლისა და პაროლის შეყვანის შემდეგ, საკონტროლო პანელზე გამოჩნდა თეთრი მხარე.
ჩვენ გადავამოწმეთ სხვა საიტებზე - იგივე.
შესაძლო მიზეზების დასადგენად, ჩვენ ჩავრთეთ სხვადასხვა გამონათქვამები.
ამისათვის თქვენ უნდა დაარედაქტიროთ .htaccess ფაილი FTP-ის საშუალებით, რომელიც მდებარეობს საიტის ძირში და დაამატეთ ახალი რიგი:

Php_flag display_errors ჩართულია

ამის შემდეგ, ადმინისტრაციულ პანელში შესვლისას, გაჩნდა შეტყობინება, როგორიცაა „გაფრთხილება: ვერ მოხერხდება სათაურის ინფორმაციის შეცვლა - სათაურები უკვე გაგზავნილია (გამომავალი დაიწყო /home/.../functions.php:1552)-ში /home/.. ./public_html /wp-login.php 362 ხაზზე » და ა.შ.

ძიების შედეგად მოიძებნა ინფორმაცია, რომელიც გვამცნობს, რომ სათაურის ინფორმაციის შეცვლა შეუძლებელია, რადგან სათაურები (მათ შესახებ ინფორმაცია) ადრე უკვე იყო გაგზავნილი და ჯერ კიდევ შეკვეთის ჯგუფშია. ყველა სახის ფაილში ჩავარდა ყველა სახის მწკრივში. .


სათაურები (სათაურები) - ეს არის სერვერის სერვისის ინფორმაცია, რომელზედაც მუშავდება საიტი. სანამ ბრაუზერი აჩვენებს საიტს, ის სერვერიდან იღებს სათაურებს, სადაც მითითებულია სხვადასხვა მონაცემები: ჩართულია თუ არა საიტზე ქეშირება, მისი კოდირება, საიტის შინაარსის ტიპი და სხვა. მართვის სისტემებში, ვებსაიტის ნაცვლად, სათაურები იქმნება ფუნქციებით, რომლებიც არსებობს სხვადასხვა სისტემის ფაილებში.
obov'yazkovo umova- სათაურები შინაარსის ნაცვლად მთავარ გვერდზე გაიგზავნება.


თუ საიტი გადაეცემა სათაურებს, მაშინ ჩნდება სიტუაცია, რის შესახებაც გვაცნობენ „გაფრთხილება: არ შეიძლება სათაურის ინფორმაციის შეცვლა - სათაურები უკვე გამოგზავნილი ...“

რა სიტუაციებში შეგიძლიათ დაადანაშაულოთ ​​საკუთარი თავი? როგორც უკვე ვთქვით, მიმდინარე CMS-ში სათაურები არის ერთი ან რამდენიმე ფუნქციის მუშაობის შედეგი. ფუნქცია თავისთავად არის მხოლოდ კოდის ფრაგმენტი, რომელიც განლაგებულია კობს შორის და ბოლოს ?> ტეგები.

ყველაფერი, რაც მდებარეობს ამ ტეგებს შორის, ითვლება გვერდის შინაარსად.
ამრიგად, ვინაიდან გვერდის სათაურს აქვს ფუნქციები, რის შედეგადაც ხდება სათაურების გაგზავნა და ჩვენ უარვყოფთ გაფრთხილებას „გაფრთხილება: არ შეიძლება სათაურის ინფორმაციის შეცვლა…“, მაშინ ვიღებთ ინფორმაციას, რომელიც დაკავშირებულია გვერდის შინაარსთან. სერვერიდან სათაურებამდე.

რა არის ეს ინფორმაცია და როგორ მოვძებნოთ იგი. ყველაზე ხშირად არის გაწმენდები და ცარიელი რიგები.

გამოტოვება ან ცარიელი რიგები ინტერპრეტირებულია, როგორც მთავარი გვერდის მდებარეობის სიმბოლოები, რაც ნიშნავს, რომ ზოგიერთი ძირითადი შინაარსი გამოჩნდება სათაურების წინ და ჯერ იგზავნება ბრაუზერში.

აუცილებელია შეტყობინებებში „გაფრთხილება: არ შეიძლება შეიცვალოს სათაურის ინფორმაცია ...“ ჩამოთვლილი ფაილები თქვენს ადგილობრივ კომპიუტერზე, გახსენით იგი კოდის რედაქტორში (მე ვიყენებ NotePad ++) და ყურადღებით შეამოწმეთ ცარიელი რიგების არსებობა. და ხარვეზები:

თუმცა, არსებობს ერთი მნიშვნელოვანი მახასიათებელი, რომელსაც შეუძლია მნიშვნელოვნად გაზარდოს გამოსავლის ძიებაში დახარჯული დრო.
ფაილს შეიძლება არ ჰქონდეს ცარიელი სტრიქონები და ხარვეზები, მაგრამ თუ ის არ არის შენახული UTF-8 კოდირებით, მაშინ მესამე მხარის სიმბოლო დოკუმენტის დასაწყისში შეიძლება ჩასმული იყოს რედაქტორის მიერ, რომელშიც იქმნება ფაილი. ეს სიმბოლო არის UTF-8 იდენტიფიკატორი, ნულოვანი დღის სივრცის ტოლი, რომელიც შეიძლება საერთოდ არ იყოს ნაჩვენები რედაქტორში, თუ ის არ არის მიღებული სერვერზე მთავარ ჩანაცვლებად და ჩვენებამდე სათაურების წინ.

იმისათვის, რომ შეხვიდეთ ამ იდენტიფიკატორში, თქვენ უნდა შეინახოთ გადმოწერილი ფაილები ფორმატში UTF-8 BOM-ის გარეშე(UTF-8 BOM-ის გარეშე).

NotePad++ ამ ამოცანებს ეფექტურად უმკლავდება.

ამ მოქმედებების და სერვერზე ფაილების განახლების შემდეგ გამოჩნდება შეტყობინებები და საიტი იმუშავებს ნორმალურ რეჟიმში.

გაგზავნილია ხუთ, 05/04/2017 - 12:55

პირადი პრობლემის აღწერა

ღილაკზე დაჭერის შემდეგ გამოჩნდება შემდეგი შეტყობინება:

გაფრთხილება: სათაურის ინფორმაციის შეცვლა შეუძლებელია - სათაურები უკვე გაგზავნილია (გამომავალი დაწყებულია C:\OpenServer\domains\testsite\WEB\5_phpRedirect.php:10) C:\OpenServer\domains\testsite\WEB\5_phpRedirect.php ხაზზე. 12

მსგავს კოდს შემოგთავაზებთ ამ თემაში:

ექსპერიმენტული ვებ

აირჩიეთ სკრიპტი მოსაზიდად

ნაწყვეტი სცენარი:

როდის ხდება?

შეწყალების (წინასწარ განჩინების) ტიპი:

გაფრთხილება: სათაურის ინფორმაციის შეცვლა შეუძლებელია - სათაურები უკვე გაგზავნილია

სამწუხაროა, რომ თქვენ უკვე დააყენეთ ბრაუზერის სათაურის პარამეტრები და ახლა გსურთ მათი გადაწერა ახლით. მაგალითად, თუ თქვენ უკვე შეიტანეთ ტექსტი, მაშინ php ჩასვამს სათაურებს (სათაური მდებარეობა- რაც მიუთითებს, რომ დაიკარგებით მოთხოვნილ გვერდზე, ან მოგიწევთ სხვა გვერდზე გადასვლა და შემდეგ იქ პასუხის გაუქმება), რათა კლიენტს ბრაუზერს უთხრათ (თავისებურად) როგორ მოიქცეს.

პრობლემის ძირი

ყოველ შემთხვევაში, თქვენი გამომავალი პრობლემა მდგომარეობს იმაში, რომ თქვენ უკვე აწვდით შინაარსს (html ტეგები, რომლებიც შერეულია ფაილში სკრიპტთან) ადრებრძანება:

Echo header ($ გადამისამართება);

გახსოვდეთ, რომ header() ფუნქციის გამოძახება მხოლოდ კლიენტს შეუძლია მონაცემები ჯერ არ არის გადაცემული. ჯერ უნდა გადახვიდეთ ზევით, ამ დაწკაპუნებამდე არ არის საჭირო რაიმე HTML ტეგი, ცარიელი რიგები და ა.შ. ხშირად არის პრობლემა ფაილის ფუნქციებით კოდის წაკითხვისას, მათ შორის ან მოითხოვს, რომელ კოდში არის გასუფთავება ან ცარიელი რიგები, რომლებიც გამოჩნდება header()-ის გამოძახებამდე. იგივე პრობლემები შეიძლება წარმოიშვას ერთი PHP / HTML ფაილის რედაქტირებისას.

შემდეგ თქვენ უნდა დაამატოთ პარსერის სკრიპტი HTML-ში - მიუხედავად იმისა, რომ ის არსებითად არაფერს აჩვენებს თავისთავად, მაგრამ უბრალოდ გადასცემს მას სხვა მისამართზე - წე ჯერ.

Header ($ გადამისამართება);

Echo header ($ გადამისამართება);

ექსპერიმენტი

ასე რომ, როგორც echo () დაიწყო, ჩაწერეთ სხეულის http vids, და არა სათაურებში, არამედ სათაური ბრუნავს ბათილად (ეს არ ატრიალებს მნიშვნელობას), ზემოთ ნათქვამის შესახებ, მაშინ აკლია ვიკირის ექო () მნიშვნელობა, მაგრამ
- პროტე, მე გთავაზობთ ექსპერიმენტის ჩატარებას:

  1. დაალაგე html
  2. არ მოაწესრიგო ექო

მაშ ასე, რადგან სათაური () თქვენთან არსებითად იწოდება ეხომდე () (როგორც სათაური () არის echo ()-ის არგუმენტი, რაც ნიშნავს ბრუნვას - ამავდროულად, შესამოწმებელია, რომ ფუნქცია ბრუნავს null - რაც იქნება ინტერპრეტირებული, როგორც ცარიელი მწკრივი ან (რომელიც უფრო უარესია) ექო ნუ შეგაწუხებთ ამის გაკეთებას, რადგან გადამისამართება უკვე გამოჩნდება.

კიდევ ერთხელ განვმარტოთ მიზეზი

Tobto Wiklik-ის სათაურამდე() არ არის დამნაშავე, არ არის ნაჩვენები შინაარსი(რაზე წერია ფუნქციის აღწერამდე: http: //php.net/manual/ru/function.header ...)

  • 1) არა დახმარების ექო
  • 2) დამატებითი დახმარების გარეშე, ბრაუზერში html ტექსტის შეყვანა.

ჩვენს შემთხვევაში, აქედან გამომდინარე, ექო არ ერწყმის არაფერში და html ღერძი რეალურად ერწყმის მკითხველს.

საკვები შეჩერებული იყო

HTML ტეგები წაიშალა თქვენი კმაყოფილებისთვის. ახლა გადამისამართება გენერირებულია სწორად, საძიებო სკრიპტი ასე გამოიყურება:

ექო ფუნქცია არ მუშაობს ეფექტურად, ასე რომ თქვენ შეგიძლიათ ამოიღოთ იგი S. Holzner-იდან:

ასევე, გადამისამართებისთვის კოდის ფორმატირებისას, ყურადღება მიაქციეთ ფაილის გაფართოებას, რომელზეც ხდება გადასვლა: მითითებული სინტაქსით, ის უნდა იყოს მითითებული სათაურის არგუმენტში.

  • შედით კომენტარების დასაწერად

ყოველთვის შეგიძლიათ ივარჯიშოთ და

თქვენ ასევე შეგიძლიათ წინასწარ ივარჯიშოთ

კორისტუვაჩის გადამისამართება

როგორ დავაყენოთ ვარიანტი php.ini ფაილში

გამომავალი_ბუფერირება = 4096

  • შედით კომენტარების დასაწერად

სათაურების ხელახლა გაგზავნა დაბლოკილია, HTTP პროტოკოლი ასე არ მუშაობს! რატომ მუშაობ? ვებსაიტზე გამოქვეყნების შემდეგ, მჭირდება კიდევ ერთი სესიის დაწყება და ქუქი-ფაილის დაყენება? - მოდით ვისაუბროთ გამომავალი ბუფერირებაზე.

თუ თქვენ დააყენეთ ბუფერის არა-ნულოვანი ზომა, მაშინ ჯერ კიდევ შესაძლებელია სათაურების მანიპულირება. თუ ბუფერის ზომა ნულის ტოლია, შინაარსის რენდერის შემდეგ, ის დაუყოვნებლივ გამოვა წინ http-ვიდეო სათაურების გადაცემა კლიენტზე.

და გამოდის, რომ ჩვენ გვინდა შევცვალოთ სათაურები, რომლებიც უკვე "გაფრინდნენ" კლიენტებს შორის (რაც ნიშნავს, რომ მათი გამოსწორება აღარ არის შესაძლებელი - ჩვენ დავხურავთ სათაურს მდებარეობა, რაც მიუთითებს იმაზე, რომ დაიკარგებით მოთხოვნილ მხარეს, ან მოითხოვეთ სხვა - სკრიპტი - "გადამისამართება" (გვაქვს ფორმის გენერატორი) მხოლოდ იმისთვის, რომ ვისაუბროთ მათზე, ვინც უნდა მოითხოვოს სხვა მხარე), რომლის შესახებაც php უსწრებს. ჩვენ.

ale:აბსოლუტურად შეუძლებელია პრობლემის ამ გზით გადაჭრა (არა ძალიან სწორად, უფრო ზუსტად).

_____________
მათემატიკის ფაკულტეტი VDU კიდევ ერთი კლასიკურია =)

  • შედით კომენტარების დასაწერად