[PHP] Probleem data uit file

Pagina: 1
Acties:

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Ik heb een eige stats system voor het spel red alert 2.
Nu werkt alles wel leuk enz. alleen heb ik een probleem met clans (het is een stats system voor clans) als er bv veel rare tekens in een clan abrevation of clan naam zitten dat die "gek" doet.

Het systeem werkt als volgt:

Alle opgegeven clans staan in een database:
CLAN_ID
CLAN_ABREV
CLAN_NAME
password etc...

Dan worden alle games in een 2e tabel gesaved:
id int(11) NOT NULL auto_increment,
game int(11) NOT NULL default '0',
clan_id int(11) NOT NULL default '0',
player varchar(13) NOT NULL default '',
clan1 varchar(10) NOT NULL default '',
clan2 varchar(10) NOT NULL default '',
points int(11) NOT NULL default '0',
map varchar(25) NOT NULL default '',
time varchar(10) NOT NULL default '',
type varchar(4) NOT NULL default '',
date varchar(20) NOT NULL default '',
W tinyint(1) NOT NULL default '0',
L tinyint(1) NOT NULL default '0',
WA tinyint(1) NOT NULL default '0',

nu ziet een clan log er zo uit:
[url="http://games2.westwood.com/ra2gamelogs/clan_[@CNC@].html"]http://games2.westwood.com/ra2gamelogs/clan_[@CNC@].html[/url]


op deze pagina haal het systeem de data eruit per lijn (game).

Als 1 lijn gedaan is zoekt die de bijbehoordende gamelog erbij die ziet er zo uit:
[url="http://games2.westwood.com/ra2gamelogs/85389868.html"]http://games2.westwood.com/ra2gamelogs/85389868.html[/url]

Nu moet het systeem een aantal dingen uit die log halen en daar gaat het soms fout.

Het systeem moet de 2 players of 1 van dezelfde clan eruit vissen dat doe ik dus via de clan naam die achter de spelers naam staat bv: aCnCFoXi [cnc rulz !!]

en daar gaat het mis.
Soms als er rare tekens zoals een * of - in staan kan die de spelers niet vinden.

Ik probeer het nu met eregi_replace maar op de 1 of andere manier lukt dat niet altijd.

Dit is de source:
[url="http://www.chat-stars.com/GoT/index.php?file=update.phps"]http://www.chat-stars.com/GoT/index.php?file=update.phps[/url]
[url="http://www.chat-stars.com/GoT/index.php?file=update_ra2.phps"]http://www.chat-stars.com/GoT/index.php?file=update_ra2.phps[/url]

De phps extentie werkt helaas niet.... :'(
Het systeem zelf staat hier: [url="http://www.chat-stars.com/ra2/"]http://www.chat-stars.com/ra2/[/url]

Ik hoop dat iemand me kan helpen met dit probleem.

p.s. suggesties of tips hoe het systeem mischien beter kan zou ik graag horen

Alvast bedankt!!

www.dannyhiemstra.nl


  • Juup
  • Registratie: Februari 2000
  • Niet online
Algemeen:
Probeer je probleem te isoleren en kort en bondig op te schrijven.

Voorbeeld:
Hoe kan ik in PHP vreemde tekens als * en - replacen?
Ik heb dit geprobeerd:
...
maar dat geeft verkeerde output omdat:

Een wappie is iemand die gevallen is voor de (jarenlange) Russische desinformatiecampagnes.
Wantrouwen en confirmation bias doen de rest.


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 19-08 14:53
Ik ben het met Jaaap eens dat je inderdaad wel iets bondiger mag zijn over het probleem. Je hebt het probleem weliswaar goed beschreven, alleen misschien is het handiger om de stukken te plaatsen waar het om gaat en niet de poespas eromheen.

Ik denk dat de meeste mensen weinig tijd hebben en niet snel een heel script gaan doorlezen. Het is dus in je eigen belang. :)

En dan nu over eregi_replace: misschien kun je in deze situatie ook str_replace gebruiken. Als je alleen maar * in \* moet omzetten is dat makkelijker.

Succes! :)

Verwijderd

Volgens mij ligt hier je probleem:

Nick 1 = DaftPunk
Nick 2 = Daft'Punk

SQL = "select highscore from users where name = 'nick'"

Met nick 1 alles ok
maar met nick 2:
select highscore from users where name = 'Daft'Punk'

door de ' in de nick wordt de string in the query afgesloten....

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

In dat geval moet je eventjes bij [url="http://www.php.net/mysql-escape-string"]mysql_escape_string ()[/url] kijken.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Gerbuik de data typen die ervoor bedoeld zijn. Er zijn speciale velden om date en time in op te slaan, gebruik ze dan ook...

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
het gaat er niet om hoe ze uit de database worden gehaald maar hoe ze uit de file worden gehaald..

Dus het gaat niet om die query maar om de ereg_replace etc..

www.dannyhiemstra.nl

Pagina: 1