Remove blank line on every web page - php

I have 3 blank lines at the beginning of every page that is causing errors of an add-on with stamps.com. (PS I have worked closely with their support team).
I can see the lines using firebug, but don't know which file is causing them.
I am trying to REMOVE these lines but can't seem to locate them in the header and main_page php files, for templates, common and default folders.
I am using version 1.3.8a of Zen Cart.
The web site is pranajewelry.com
Any suggestions on which files in order of precedence and what special code I should look for?

Ensure all output buffering is of.
Call headers_sent($file,$line); at a point in time you know you already sent output (doesn't matter where, it can be at the end of the request).
VoilĂ , $file & $line hold the position where output started.
If the return of headers_sent is true, but $line==0, you'll have to look into auto_prepends.

I am surprised that those 3 blank lines cause problems with anything.
Anyway, they could be just about anywhere. Look for any lines in your files that aren't within PHP tags. You could have a common include for example that has 3 blank lines at the end of it. It could be anything. Typically, it will be before or after your <?php ?> blocks.

I'd say those lines would have to be in one of your first includes in your template. Quite possibly you may have whitespace outside of you <?php ?> blocks for your configuration or function include files.

hey if you want to remove blank line then replace that web page/s with "notepad++ software".
it has advance text processing capability. or remove it with "macromedia dreamweaver 8.0"
it has tag replacing options with you can replace blank lines present in all pages in website folder.

Locate this in your files in the directory (use search in files) and you will probably find the blank lines
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">

Make sure to look after your closing ?> as well. Anything after it will be sent to output; this is actually a good reason why you shouldn't use the closing ?> at the end of your PHP files.

if you are using Dreamweaver try this out
Open the file
Click CTRL + F
Select "Current document" in "Find in" (You can also select the folder if you have multiple files)
Search in "Source code"
Tick "Use regular expression"
Type "[\r\n]{2,}"(without quotes) in "Find"
Type "\n" (without quotes) in "Replace"
Press "Replace All

Related

dreamweaver <?php & ?> special characters must be escaped error

I've hunted around everywhere for this error fix, but no luck.
Using Dreamweaver, when i put the PHP code bracketing into an html file such as <?php echo 'Why does it not work?'; ?> or something similar, I always get an error "Special characters must be escaped". I can't stand it anymore!
Any help would be soooo much appreciated. I've tried to change the code type at the bottom so it recognises it as PHP and doesn't give me grief about the brackets, but nothing.
I've modified the .htaccess file on the server so I've got no problems running php code in a html file.
Go to Edit -> Preferences
in left panel highlight linting
then in edit rule set highlight html, click edit and apply changes, scroll down to where it says
"spec-char-escape": true, and change it to false, edit your page
click save
You should no longer see errors
I thought I'd put the answer here in case anyone else has a similar problem. The validation I was talking about is called "linting" in DW. I edited the linting HTML file from inside DW: Edit > Preferences > Linting > Select code type then Edit & Apply changes. In my case I set escape special characters to false in the file. Voila!
Here's the linting specs: https://github.com/yaniswang/HTMLHint/wiki/Rules

Can't locate output affecting HTML and file output

Below are screenshots of the output within Chrome dev tools, and one of my controller methods.
The second screenshot is of an empty controller that simply die();'s.
The third is the controller that is outputting the second image.
I've trawled all files in my app in an attempt to locate the cause of the erroneous output, with no success.
It appears to be an accidentally commented <?php tag, but I can't see how that would cause the doctype error?
I should note that this is happening globally, and I've already checked my existing doctype declaration and opening php tags.
At my wit's end, thanks for any help.
It turns out the extra output was caused by an empty Helper file, that only contained <?php and nothing else.
This appears to have resulted in the <?php not being parsed as PHP, and output as text in an HTML comment somewhere down the line.
try to remove the comment
and i you want use php comment it should be inside php tags
<?php /* comment */ ?>
and if you want use html comment it should be inside html tags
<html>
<!--comment -->
</html>

Cakephp i18n extracts all but one template file

I have a site with dynamic content, with only some button labels and headers in the template files. In the View folder I have multiple *.ctp files, for example profile.ctp and index.ctp. My problem is that when I run the cake console's i18n extract function, then the translateable strings from the controller.php and profile.ctp are picked up, but index.ctp is ignored.
I tried running
cake i18n extract --files .\View\ControllerName\index.ctp --ignore-model-validation --output .\Locale\ --paths . --overwrite yes --extract-core no --merge no
This however gives no results, and no *.pom files are created, unlike when I run it without the --files argument. In that case just the strings from the view are missing from the *.pom file.
The interesting thing is that in the console output it shows that the index.ctp is parsed, but still no results are given.
Output Directory: C:\Dev\app\Locale\
---------------------------------------------------------------
Processing C:\Dev\app\View\ControllerName\index.ctp...
Processing C:\Dev\app\View\ControllerName\profile.ctp...
Done.
So, my question is - does anyone have any idea on why it is so? Is there a setting to disable certain templates, or is it the default behavior to ignore index.ctp files? Or am I just doing something really wrong?
Thank you!
Edit: Solved. Don't use shorthand PHP tags just in case :)
Maybe a stupid remark, but does your index.ctp actually contain translatable strings (i.e. strings wrapped into __("sentence to translate"); function) ?
So, after lots of headwracking I decided to try something out. I copied profile.ctp content into index.ctp, then it worked. After that I just started stripping down the index.ctp until it worked. Turns out that if I used shorthand PHP tags (<? ?>) then for some reason the translation strings detection didn't work, but when I used full tags (<?php ?>) then everything was fine. Figures :)

Aptana Studio 3 doesn't recognize PHP inside .html

When implementing code like i.e.
<!DOCTYPE html>
<html>
<body>
<?php
echo "My first PHP script!";
?>
</body>
</html>
Next to <?php it gives red X icon with error that "<" missing '>' for end of tag. I did find some older threads about this here at stackoverflow, but there wasn't really any solution or response at all. I tried the solution of adding PHP Source Editor for .html and setting it as default, but looks like it doesn't work.
It's not a deal breaker, it's just I don't like red icons and false errors throughout the code.
This is because .html files are opened with HTML editor, not PHP.
You can try to right-click on your file, then select "Open With" -> "Other ..." -> "PHP Source Editor".
The title of your question suggests that you are saving the files as .html
If this is the case then there will be an error as Aptana will not be looking to validate <?php ?> tags. If I'm right then you will need to save the files as filename.php and not filename.html.
If this is not the case then you might want to change the title slightly.
The tag is legit html. The file he's editing is html. The stock html editor does not flag this as an error. Sorry - I just joined and I can't "comment" yet - but my answer would be...
This looks like a bug in the Aptana HTML editor.
I see this on occasion. If you're editing OPC (Other People's Code), especially WordPress code, sometimes an IF statement will be opened in one PHP file and closed in another. This is often seen in "the Loop" and is the way it's built.

How do I get rid of white spaces at the top of my webpage?

I am developing a website in PHP and one thing is annoying me a lot. There is a lot of white space before beginning of the webpage at <!DOCTYPE html>.
Have a look at the screenshot of source code of my webpage and google's home page :
This is really annoying. I don't know what makes those lines jump down to line-6 when it should be at line-1.
The source code of my webpage is -
<?php
header('Content-Type: text/html');
require_once 'core.php';
$index=new Index();
$index->run('home', array('file.js', 'script.js', 'main.js'), array('style.css'));
?>
<!DOCTYPE html>
<!-- rest of the DOM here -->
I think there must be some echo thing in core.php that is printing some white space but it is not so. There no echoing before <!DOCTYPE html>.
What is happening? Please help me out.
Remember, there's no such thing as a "php script". There's only files which have PHP code blocks embedded in them. The following file would output 4 blank lines, even though there's absolutely no "echo"/"print" calls in it:
<?php
// this is just a useless comment
?>
<?php
/// and another useless comment, 4 lines later
?>
ANY text outside of a <?php ?> bracket pair is considered output by the PHP engine.
Does core.php (or any of the files it includes) have blank lines after the final ?>?
If so, delete the ?>. It's best to let the final ?> be implied by the end of the file.
Otherwise, just start bisecting your codebase until you can determine what is adding it.
There's a good chance this is being caused by white space at the end of PHP files that are being included (assuming 'core.php' includes a number of other files). The simplest way around this (and best practice generally), is to omit the final ?> at the end of PHP files. It is optional anyway.
Another quick thing you could try to diagnose this would be to move your (unnecessary) header() call down a line so it is below the core.php include. If this script is causing browser output you'll then get the standard PHP 'headers sent' error, which will tell you where output started.

Categories