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

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...
Tovedal
Kommer du hit ofta?
Medlem
Forum Posts: 282
Member Since:
June 29, 2004
sp_UserOfflineSmall Offline
1
November 19, 2008 - 8:39 pm
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:
June 28, 2007
sp_UserOfflineSmall Offline
1208654
November 19, 2008 - 8:47 pm
sp_Permalink sp_Print

Hejsan

Du behöver nog escapa dina enkelfnuttar.

Tovedal
Kommer du hit ofta?
Medlem
Forum Posts: 282
Member Since:
June 29, 2004
sp_UserOfflineSmall Offline
1208655
November 19, 2008 - 8:49 pm
sp_Permalink sp_Print

Bra att göra vad med vad?:P

NH|CryptoN
Kommer du hit ofta?
Medlem
Forum Posts: 266
Member Since:
June 28, 2007
sp_UserOfflineSmall Offline
1208656
November 19, 2008 - 8:52 pm
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:
June 29, 2004
sp_UserOfflineSmall Offline
1208657
November 19, 2008 - 8:57 pm
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:
June 28, 2007
sp_UserOfflineSmall Offline
1208658
November 19, 2008 - 9:04 pm
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:
June 29, 2004
sp_UserOfflineSmall Offline
1208661
November 19, 2008 - 9:14 pm
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
Member
Medlem
Forum Posts: 3514
Member Since:
September 1, 2002
sp_UserOfflineSmall Offline
1208788
November 21, 2008 - 7:55 am
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:
June 29, 2004
sp_UserOfflineSmall Offline
1208795
November 21, 2008 - 9:21 am
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...

Forum Timezone: Europe/Stockholm
Most Users Ever Online: 1030
Currently Online:
Guest(s) 507
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:
PetrbonFU PetrbonFU
Karine Bembry
Dolores Mcdaniels
Anibal McLeish
Francisca Alt
Alfie Everhart
Lester Huitt
Orlando Jorgensen
Mikki Lundgren
Dakota Kozlowski
Forum Stats:
Groups: 11
Forums: 59
Topics: 146630
Posts: 1300967

 

Member Stats:
Guest Posters: 2
Members: 79425
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