T_VARIABLE fel. Håller på att knäcka datorn över knät... | Programmering / Grafisk formgivning | Forum

A A A

Please consider registering
Guest

Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

Lost password?
The forums are currently locked and only available for read only access
sp_Feed sp_TopicIcon
T_VARIABLE fel. Håller på att knäcka datorn över knät...
This topic is locked
Tovedal
Kommer du hit ofta?
Medlem
Forum Posts: 282
Member Since:
juni 29, 2004
sp_UserOfflineSmall Offline
1
november 19, 2008 - 8:39 e m
sp_Permalink sp_Print

tja, behöver seriös hjälp. Jag har denna kod som inte är allt för lång eller avancerad men som inte fungerar. I IE får man ett HTTP 500 fel vilket betyder interntserverfel eller fel i koden. Alltså kikade jag runt lite på nätet och hittade någon php-acess grej som kunde berätta felet.

Felet var T_VARIABLE på Line 13. Koden är som följer:


<?php

$datum = date('y m d');
$ip = $_SERVER['REMOTE_ADDR'];

$con = mysql_connect('servername', 'serveruser', 'serverpass');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db('ffut_se', $con);
$besok = mysql_query('SELECT besok FROM ip_table WHERE ip='$ip'');
$besok2 = mysql_fetch_array($besok);

if (mysql_num_rows($besok) > 0) {
$besok3 = $besok2['besok'] + 1;
mysql_query('UPDATE ip_table SET besok='$besok3' WHERE ip='$ip''); // I denna rad ligger tydligen felet!
mysql_query('UPDATE ip_table SET datum='$datum' WHERE ip='$ip'');
}
else {
mysql_query('INSERT INTO ip_table (ip, datum, besok) VALUES ('$ip', '$datum', '1')');
}

mysql_close($con);


?>

Koden ska logga ip nummer i en mysqldatabas (väldigtkortfattat eftersom jag tror inte det har någon betydelse)
Är det någon som på rak arm kan säga vad som bråkar med mig? :cy:

NH|CryptoN
Kommer du hit ofta?
Medlem
Forum Posts: 266
Member Since:
juni 28, 2007
sp_UserOfflineSmall Offline
1208654
november 19, 2008 - 8:47 e m
sp_Permalink sp_Print

Hejsan

Du behöver nog escapa dina enkelfnuttar.

Tovedal
Kommer du hit ofta?
Medlem
Forum Posts: 282
Member Since:
juni 29, 2004
sp_UserOfflineSmall Offline
1208655
november 19, 2008 - 8:49 e m
sp_Permalink sp_Print

Bra att göra vad med vad?:P

NH|CryptoN
Kommer du hit ofta?
Medlem
Forum Posts: 266
Member Since:
juni 28, 2007
sp_UserOfflineSmall Offline
1208656
november 19, 2008 - 8:52 e m
sp_Permalink sp_Print

Escapa dina enkelfnuttar.


mysql_query('UPDATE ip_table SET besok='$besok3' WHERE ip='$ip'');

mysql_query('UPDATE ip_table SET datum='$datum' WHERE ip='$ip'');

$besok = mysql_query('SELECT besok FROM ip_table WHERE ip='$ip'');
Tovedal
Kommer du hit ofta?
Medlem
Forum Posts: 282
Member Since:
juni 29, 2004
sp_UserOfflineSmall Offline
1208657
november 19, 2008 - 8:57 e m
sp_Permalink sp_Print

borde jag veta vad det är?:P jag förstår inte vad du menar du måste tyvärr vara lite mer detaljerad, är ganska rookie på ämnet. och vad är enkelfnuttar?

NH|CryptoN
Kommer du hit ofta?
Medlem
Forum Posts: 266
Member Since:
juni 28, 2007
sp_UserOfflineSmall Offline
1208658
november 19, 2008 - 9:04 e m
sp_Permalink sp_Print

Om du ska syssla med tråkigt PHP-kodning så måste du veta vad det är :-).

Enkelfnuttar är ’ och dubbelfnuttar är ”

http://www.kiltedviking.net/se…..index.html

Tovedal
Kommer du hit ofta?
Medlem
Forum Posts: 282
Member Since:
juni 29, 2004
sp_UserOfflineSmall Offline
1208661
november 19, 2008 - 9:14 e m
sp_Permalink sp_Print

AHA! jasså du menar escapa mina enkelfnuttar. ok kung gjort detta, fungerar ändå inte:P nu ser koden ut så här, har jag gjort korrekt?:

<?php

$datum = date('y m d');
$ip = $_SERVER['REMOTE_ADDR'];

$con = mysql_connect('servername', 'serveruser', 'serverpass');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db('ffut_se', $con);
$besok = mysql_query('SELECT besok FROM ip_table WHERE ip='$ip'');
$besok2 = mysql_fetch_array($besok);

if (mysql_num_rows($besok) > 0) {
$besok3 = $besok2['besok'] + 1;
mysql_query('UPDATE ip_table SET besok='$besok3' WHERE ip='$ip'');
mysql_query('UPDATE ip_table SET datum='$datum' WHERE ip='$ip'');
}
else {
mysql_query('INSERT INTO ip_table (ip, datum, besok) VALUES ('$ip', '$datum', '1')');
}

mysql_close($con);


?>
Avatar
Gamblor
Medlem
Medlem
Forum Posts: 3514
Member Since:
september 1, 2002
sp_UserOfflineSmall Offline
1208788
november 21, 2008 - 7:55 f m
sp_Permalink sp_Print

Jag tror det är MYSQL-queryn som knasar, antagligen för att SQL-frågan inte blir som du kanske tänkt.

Direkt under rad 13


$besok = mysql_query('SELECT besok FROM ip_table WHERE ip='$ip'');

lägg till följande satser


if (!$besok) {
$message = 'Invalid query: ' . mysql_error() . "n";
$message .= 'Whole query: ' . $query;
die($message);
}

så att det blir


$besok = mysql_query('SELECT besok FROM ip_table WHERE ip='$ip'');

if (!$besok) {
$message = 'Invalid query: ' . mysql_error() . "n";
$message .= 'Whole query: ' . $query;
die($message);
}

Jag misstänker att du inte bygger SQL-frågan klokt, men jag är lite ringrostig på PHP.

Hade jag byggt samma fråga hade jag använt mig av sprintf. Resultatet blir det samma jag tycker det blir lite enklare att ha koll på alla fnuttar.


$query = sprintf("SELECT besok FROM ip_table WHERE ip=%s", $ip);

Det kan också vara bra att se till att variabeln $ip verkligen innehåller en sträng motsvarande en giltig IP-address och inget annat, innan du bakar in variabelns innehåll till SQL-frågan.

Tovedal
Kommer du hit ofta?
Medlem
Forum Posts: 282
Member Since:
juni 29, 2004
sp_UserOfflineSmall Offline
1208795
november 21, 2008 - 9:21 f m
sp_Permalink sp_Print

Jag är jätte tacksam för all hjälp men det fungerar ändå inte. Jag provade allt det ni tipsat om men utan framgång. Jag pratade med loopia (där servern är) och det var dom som sa att det T_VARIABEL fel på rad 13.

Det konstiga är att jag skapade innan de en fil med bara raderna:

<?php
$con = mysql_connect('servername', 'serveruser', 'serverpass');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

?>

och då fick jag samma interna serverfel, nr 500.

Men nu känns det som jag ger upp, gör ett sista försök att demolera hela scriptet och sen göra om det från början, lite synd dock…

This topic is locked
Forum Timezone: Europe/Stockholm

Most Users Ever Online: 694

Currently Online:
352 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Andreas Galistel: 16287

Jonas Klar: 15897

ilg@dd: 10810

Nyhet: 10607

Mind: 10550

Ctrl: 10355

Gueno: 9881

Guest: 9344

Snorch: 8881

Callister: 8468

Newest Members:

TimothyrexZF TimothyrexZF

BhoblhgatKX BhoblhgatKX

BoxerKix BoxerKix

dtaleteuxh dtaleteuxh

MiltonMouttEV MiltonMouttEV

travCoundUE travCoundUE

TakumiwipHQ TakumiwipHQ

Doctorhoda Doctorhoda

CDailyseartAD CDailyseartAD

SteveWicZL SteveWicZL

Forum Stats:

Groups: 11

Forums: 59

Topics: 146630

Posts: 1300967

 

Member Stats:

Guest Posters: 2

Members: 78407

Moderators: 0

Admins: 11

Administrators: nordicadmin, Henrik Berntsson, Anton Karmehed, Carl Holmberg, Joel Oscarsson, Mikael Linnér, Mikael Schwartz, Andreas Paulsson, Nickebjrk, Mattias Pettersson, EmxL