[PHP/MySQL] unexpected T_VARIABLE

Pagina: 1
Acties:

Onderwerpen


  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
wellicht een heel domme vraag met simpele oplossing maar zit nu al een uur te googlen en te searchen en kan dit niet vinden:

gaat over een formulier met een add.php om wat toe te voegen...

hieronder de fout, hoop dat iemand me kan helpen,

greetz

japie101


Parse error: parse error, unexpected T_VARIABLE in xxxxxxxxxxxxxxx/add.php on line 8

line 8:

$_POST[title] = addslashes($_POST[title]);

  • Cipri
  • Registratie: Januari 2001
  • Laatst online: 29-07-2024

Cipri

Of niet natuurlijk...

Kijk eens naar de regel ervoor, daar ben je vast een ; of een " vergeten :*)
Zoniet, post evne wat meer van je script.
Liefst tussen [ php ] [/ php ] tags :)

[ Voor 3% gewijzigd door Cipri op 25-12-2003 21:04 ]

-=[ Murlocs Ate My Boots]=- Sylvanas Alliance - EU - Orosei lvl 100 Paladin


  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 15:59
$_POST['title'] = addslashes($_POST['title']);

het is maar een gokje...

  • Cipri
  • Registratie: Januari 2001
  • Laatst online: 29-07-2024

Cipri

Of niet natuurlijk...

Die 'title' moet eigenlijk ook jah, omdat title geen constante is maar een array-key, maar dat maakt voor deze error (T_VARIABLE) niet uit.
De parser snapt gewoon niet waarom er ineens een variable estaat, bv omdat de regel erboven niet is afgesloten :)

-=[ Murlocs Ate My Boots]=- Sylvanas Alliance - EU - Orosei lvl 100 Paladin


  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
dit is add.php die vanuit toevoegen.html de waardes krijgt...
de error is nog steeds dezelfde, ook na het toevoegen van de ' ..

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php  
  if ($submit) {  
mysql_connect ("xxxx","xxxx","xxxx"); 
mysql_select_db("yep");
mysql_error()
$_POST['title'] = addslashes($_POST['title']);  
$_POST['year'] = addslashes($_POST['year']);  
$_POST['genre'] = addslashes($_POST['genre']);  
$_POST['imdb'] = addslashes($_POST['imdb']); 
      $sql = "INSERT INTO movies (title, year, genre, imdb) VALUES ('$_POST[title]', '$_POST[year]', '$_POST[genre]', '$_POST[imdb]')";  
mysql_query($sql) or die("something went wrong");  
echo 'input is added';  
  }  
?>

[ Voor 23% gewijzigd door japie101 op 25-12-2003 22:13 ]


  • Roa
  • Registratie: December 2002
  • Laatst online: 03-07-2024

Roa

Check regel 5

mysql_error()

moet worden

mysql_error();

Soms helpt een frisse blik, zeker als je al een tijdje naar je eigen code kijkt... ;)
Alleen als je in het vervolg meteen wat meer code post, kan je veel sneller geholpen worden ;)
Mac_Cain13 schreef op 25 december 2003 @ 22:17:
edit:

Hey waarom sta ik onderaan is op dezelfde tijd :P
edit:
De minuten wel, de seconden....we zullen het nooit weten ;)

[ Voor 59% gewijzigd door Roa op 25-12-2003 22:20 ]

Research is what I'm doing when I don't know what I'm doing.


  • Mac_Cain13
  • Registratie: Juni 2003
  • Laatst online: 17-09 15:48
mysql_error() -> daar staat geen ; achter :)
edit:

Hey waarom sta ik onderaan is op dezelfde tijd :P

[ Voor 49% gewijzigd door Mac_Cain13 op 25-12-2003 22:18 ]


  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
ook zonder die regel wordt er nog niets toegevoegd...


dit is de form die ik icm gebruik met de bovenstaande add.php

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<html> 
<head> 
<title>movie toevoegen</title> 
</head> 
<body> 
<h3>movie toevoegen</h3>
<form action="add.php" method="post"> 
<input type="hidden" name="submit" value="yes"> 
<table width="200" border="1">
  <tr>
    <td>Title:</td>
    <td><input type="text" name="title"></td>
  </tr>
  <tr>
    <td>Year:</td>
    <td><input type="text" name="year"></td>
  </tr>
  <tr>
    <td>Genre:</td>
    <td><input type="text" name="genre"></td>
  </tr>
  <tr>
    <td>IMDB:</td>
    <td><input type="text" name="imdb"></td>
  </tr>
</table>
<input type="submit" value="Add"> 
</form> 
<form action="show.php" method="post">
<input type="hidden" name="submit" value="yes"> 
<input type="submit" value="Show it"> 
</form>
</body> 
</html>

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Kun je post data wel veranderen? Probeer dit eens:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
  if ($submit) {   
mysql_connect ("xxxx","xxxx","xxxx"); 
mysql_select_db("yep"); 
mysql_error(); 
$title = addslashes($_POST['title']);   
$year = addslashes($_POST['year']);   
$genre = addslashes($_POST['genre']);   
$imdb = addslashes($_POST['imdb']); 
      $sql = "INSERT INTO movies (title, year, genre, imdb) VALUES ('$title','$year','$genre','$imdb')";   
mysql_query($sql) or die("something went wrong");   
echo 'input is added';   
  }

[ Voor 18% gewijzigd door GlowMouse op 25-12-2003 22:29 . Reden: typo ]


  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
die doet het ook niet :(

het lijkt wel alsof er geen info bij die .php komt, maar aan die form mankeert ook niets naar mijn idee..

  • GlowMouse
  • Registratie: November 2002
  • Niet online
even standaard debugging dan maar:
add.php aanmaken:
PHP:
1
echo "<>".$_POST['title']."<>".$_POST['year']."<>".$_POST['genre']."<>".$_POST['imdb']."<>";

  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
<>bladiebla<>2003<>actioooon<>www.bladiebla.nl<>

die doet het dus wel :)

nu de echte oorzaak nog

  • Alex
  • Registratie: Juli 2001
  • Laatst online: 20-08 21:38
wat dacht je van een simpele
PHP:
1
2
3
print_r[$_REQUEST]; 
print "\n";
print_r[$_POST];

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


  • GlowMouse
  • Registratie: November 2002
  • Niet online
Ik heb even alles nagebouwd op het SQL deel na, maar alles werkt bij mij prima.

  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
hier ook maar er wordt niets in de database toegevoegd

  • GlowMouse
  • Registratie: November 2002
  • Niet online
japie101 schreef op 25 december 2003 @ 22:53:
hier ook maar er wordt niets in de database toegevoegd
En eerst had je nog wel een
Parse error: parse error, unexpected T_VARIABLE in xxxxxxxxxxxxxxx/add.php on line 8
en die is nu plotseling weg??? :?

  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
add.htm
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<html> 
<head> 
<title>movie toevoegen</title> 
</head> 
<body> 
<h3>movie toevoegen</h3>
<form action="add.php" method="post"> 
<input type="hidden" name="submit" value="yes"> 
<table width="200" border="1">
  <tr>
    <td>Title:</td>
    <td><input type="text" name="title"></td>
  </tr>
  <tr>
    <td>Year:</td>
    <td><input type="text" name="year"></td>
  </tr>
  <tr>
    <td>Genre:</td>
    <td><input type="text" name="genre"></td>
  </tr>
  <tr>
    <td>IMDB:</td>
    <td><input type="text" name="imdb"></td>
  </tr>
</table>
<input type="submit" value="Add"> 
</form> 
<form action="show.php" method="post">
<input type="hidden" name="submit" value="yes"> 
<input type="submit" value="Show it"> 
</form>
</body> 
</html>


add.php

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php  
  if ($submit) {  
// Maak verbinding met MySQL database 
mysql_connect ("xxxxx","xxxx","xxxxx"); 
mysql_select_db("xxxxx");
// Zet voor 'gevaarlijke' tekens (', ", en \) een extra \ 
$_POST['title'] = addslashes($_POST['title']);  
$_POST['year'] = addslashes($_POST['year']);  
$_POST['genre'] = addslashes($_POST['genre']);  
$_POST['imdb'] = addslashes($_POST['imdb']); 
// Maak SQL query om toe te voegen (INSERT) 
$sql = "INSERT INTO movies (title, year, genre, imdb) VALUES ('$_POST[title]', '$_POST[year]', '$_POST[genre]', '$_POST[imdb]')";  
// Voer SQL uit 
mysql_query($sql) or die("something went wrong");  
// Geef bevestiging 
echo 'input is added';  
  }  
?>



geen fouten, maar wordt ook niets ingevoerd, de show.php doet het prima, met handmatig in phpmyadmin ingevoerde entries

  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
GlowMouse schreef op 25 december 2003 @ 23:00:
[...]


En eerst had je nog wel een

[...]


en die is nu plotseling weg??? :?
die sloeg op die debug zonder ";"

nu dus zonder gekke parse errors...

  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
en wat als je nou echo $sql doet nadat je die query hebt gemaakt (dus tussen r. 12 en 13) en die query kopiëert naar phpmyadmin?

succes ermee, je zal het volgens mij wel nodig hebben gezien je vorige posts!

  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
found it, regel 2 en 17 eventjes comment gemaakt en het geheel doet het...

if ($submit) wordt ie blijkbaar niet, maar is niet nodig ook...

  • Glashelder
  • Registratie: September 2002
  • Niet online

Glashelder

Anti Android

PHP:
1
if(isset($_POST['submit']))

normaal krijg je daar een foutmelding van. Probeer dit is dan?

[ Voor 7% gewijzigd door Glashelder op 25-12-2003 23:46 ]

PV 4915wp op oost, 2680 wp op west, 1900 wp op zuid. pvoutput - AUX 8 kW bi bloc


Acties:
  • 0 Henk 'm!

  • japie101
  • Registratie: Augustus 2003
  • Laatst online: 12:21
die doet het wel :)

thanks everybody :)
Pagina: 1