Why is this a parse error? - php

The following code
$t = 1 – (1 - 2);
yields:
Parse error: syntax error, unexpected T_STRING on line 3 in php 5.2.3
and in 5.4 I get Parse error: in <file> on line 3
To me it seems like I'm subtracting one expression from another, which I would imagine is legal. Why is this a parse error?

The first "–" is an en-dash, but it should be a hyphen-minus like the latter one: "-". Replace it, and your code will work.

Related

How to fix Syntax error, unexpected '' (T_STRING)?

The error that I am receiving is this: Parse error: syntax error, unexpected 'TokenType' (T_STRING) in C:\Program Files\Ampps\www\cs5339\lepichardo\4339_f22_assignment1\TokenType.php on line 2. To be clear, both files are php, and they both are in the same director. The code below is where I include the enum TokenType so that I would be able to use it.
<?php
include 'TokenType.php'
?>
The TokenType.php looks like this
<?php
enum TokenType{
case INT;
case STRING;
case COMMA;
}
?>
As far as I now, this should be fine, but gives me that error in that particular line.
If there is any other way to declare and imlpement the enum variable in php I would like to be explained to how to. Thanks in advance!!!
enums are only available in PHP 8.1+. The error suggests you are running PHP 7.
Here's some results of running the following code using various PHP versions (using https://3v4l.org/qHU4f)
<?php
enum TokenType{
case INT;
case STRING;
case COMMA;
}
echo 'hello world';
Output for 8.1.0 - 8.1.11, 8.2rc1 - rc3
hello world
Output for 8.0.1 - 8.0.24
Parse error: syntax error, unexpected identifier "TokenType" in /in/qHU4f on line 2
Process exited with code 255.
Output for 7.4.0 - 7.4.32
Parse error: syntax error, unexpected 'TokenType' (T_STRING) in /in/qHU4f on line 2
Process exited with code 255.
As you can see by the last result, unexpected 'TokenType' (T_STRING) is an error you would receive in PHP 7

Getting many syntax errors in my PHP code [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 7 years ago.
Improve this question
This is my code. I am getting errors every time the page loads and I don't know what is wrong. If you could help me it would be greatly appreciated.
<?php
include ('steamauth/userInfo.php');
$myfile = fopen("userid.txt", "a+") or die("Unable to open file!");
if( strpos(file_get_contents("/userid.txt"),$_GET[$steamprofile['steamid']]) !== false){
fwrite($myfile,$steamprofile['steamid']);}
fclose($myfile)
else( strpos(file_get_contents("/userid.txt"),$_GET[$steamprofile['steamid']]) !== true){
fclose($myfile)
echo"<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://example.com">
<script type="text/javascript">
window.location.href = "http://example.com"
</script>
<title>Page Redirection</title>
</head>
<body>
<p>If you are not redirected automatically, follow the link to www.example.com</p>
</body>
</html>";}
?>
Here are the errors:
[25-Apr-2015 09:46:38 Australia/Perth] PHP Parse error: syntax error, unexpected '.', expecting ']' in /example.com/userid.php on line 4
[25-Apr-2015 09:47:42 Australia/Perth] PHP Parse error: syntax error, unexpected '.', expecting ']' in /example.com/userid.php on line 4
[25-Apr-2015 09:48:09 Australia/Perth] PHP Parse error: syntax error, unexpected '.', expecting ']' in /example.com/userid.php on line 4
[25-Apr-2015 09:48:40 Australia/Perth] PHP Parse error: syntax error, unexpected '}' in /example.com/userid.php on line 7
[25-Apr-2015 09:49:37 Australia/Perth] PHP Parse error: syntax error, unexpected '}' in /example.com/userid.php on line 7
[25-Apr-2015 09:50:17 Australia/Perth] PHP Parse error: syntax error, unexpected T_ELSEIF in /example.com/userid.php on line 7
[25-Apr-2015 09:51:06 Australia/Perth] PHP Parse error: syntax error, unexpected T_ELSEIF in /example.com/userid.php on line 7
[25-Apr-2015 09:53:07 Australia/Perth] PHP Parse error: syntax error, unexpected '}' in /example.com/userid.php on line 6
[25-Apr-2015 09:55:06 Australia/Perth] PHP Parse error: syntax error, unexpected '.' in /example.com/userid.php on line 6
[25-Apr-2015 09:55:34 Australia/Perth] PHP Parse error: syntax error, unexpected '}' in /example.com/userid.php on line 6
[25-Apr-2015 09:56:53 Australia/Perth] PHP Parse error: syntax error, unexpected ')' in /example.com/userid.php on line 7
[25-Apr-2015 09:57:15 Australia/Perth] PHP Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /example.com/userid.php on line 8
[25-Apr-2015 09:58:19 Australia/Perth] PHP Parse error: syntax error, unexpected T_ELSE in /example.com/userid.php on line 8
[25-Apr-2015 09:59:23 Australia/Perth] PHP Parse error: syntax error, unexpected T_ELSE in /example.com/userid.php on line 8
[25-Apr-2015 10:00:02 Australia/Perth] PHP Parse error: syntax error, unexpected T_ELSE in /example.com/userid.php on line 8
There are more (10 MB error log more), but these are the most recent and every time I change some new errors appear.
The code is supposed to open a file (userid.txt) then check if that file contains their steamid if it doesn't it writes in it, if it does then it redirects away.
If you have no idea, then at least Google search the type and name of the error - the error log does give you plenty enough information to solve your error. +1 for using the error log, -1 for not actually reading and using the information it gives you.
To give some more detail: the core of your errors is that you're not writing the PHP correctly, so this implies you don't know PHP, so really what you should be doing is not running before you can crawl and going away and reading up all about PHP and the structure and layout and methods behind the language and how to get intended results from the code you write.
Pretty much all your errors are down to bad syntax, I could rewrite the whole code block for you and format it correctly but really I think it's better for you to go away and read about how to structure IF statements, how to use strpos and how to open and edit files as starting points.
Also read up about how to structure arrays and google search info on how to structure Multidimensional arrays (as that's another syntax fault in your code).
And seriously, I do mean well done for using the error log. Many programmers in PHP merrily get things mostly working and completely ignore learning how to detect and collect their non-critical errors.
Some further pointers to this specific code:
check each instruction ends with a ;
check the difference between $_GET and $_POST, read about them in php.net, also read about what these identifiers actually are (they're special).
be careful with print and echo statements that the character they open with (" or ') is escaped (ie preceded by a backslash) if found inside the string.
check that multidimensional arrays are structured correctly - $array[0][1] NOT $array[0[1]]
check the URL to the files you want to use is correct.
Eat 5 different pieces of fruit or veg a day

PHP Parse error: syntax error, unexpected T_STRING

I'm working in OsCommerece and getting this up in my error log
PHP Parse error: syntax error, unexpected T_STRING in public_html/includes/classes/seo.class.php(2206) : eval()'d code on line 1
Maybe just remove the <?php, ?> tags, as seo.class.php seems to run the input through eval()
mixed eval(string $code)
The code mustn't be wrapped in opening and closing PHP
tags...

IPBoard Error Parse error: syntax error, unexpected T_STRING

I have been having this error with IPBoard when trying to install a skin/theme. I get this message when I apply it to my forum:
Parse error: syntax error, unexpected T_STRING in /home/a7952789/public_html/forum/cache/skin_cache/cacheid_7/skin_global.php on line 83
So I decided to check It out I re-parsed it and it said no errors in CODE. here is the exact line of code:
$this->functionData['globalTemplate'][$count_3b65c7bc63b10c5a7f84294eb9b75dd2]['array_header_items'] = $array header_items;
$array header_items doesn't make any sense. It might be a typo for $array_header_items, although it's hard to guess what it is supposed to be.

What is unexpected T_VARIABLE in PHP?

I get this PHP error:
Parse error: syntax error, unexpected
T_VARIABLE
From this line:
$list[$i][$docinfo['attrs']['#groupby']] = $docinfo['attrs']['#count'];
Is there anything wrong with this line?
There might be a semicolon or bracket missing a line before your pasted line.
It seems fine to me; every string is allowed as an array index.
It could be some other line as well. PHP is not always that exact.
Probably you are just missing a semicolon on previous line.
How to reproduce this error, put this in a file called a.php:
<?php
$a = 5
$b = 7; // Error happens here.
print $b;
?>
Run it:
eric#dev ~ $ php a.php
PHP Parse error: syntax error, unexpected T_VARIABLE in
/home/el/code/a.php on line 3
Explanation:
The PHP parser converts your program to a series of tokens. A T_VARIABLE is a Token of type VARIABLE. When the parser processes tokens, it tries to make sense of them, and throws errors if it receives a variable where none is allowed.
In the simple case above with variable $b, the parser tried to process this:
$a = 5 $b = 7;
The PHP parser looks at the $b after the 5 and says "that is unexpected".
In my case it was an issue of the PHP version.
The .phar file I was using was not compatible with PHP 5.3.9. Switching interpreter to PHP 7 did fix it.

Categories