[PHP] dubbele slashes exploden

Pagina: 1
Acties:
  • 343 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14
PHP:
1
2
3
4
5
$string="foo//bar";
$string = explode("/",$string)
$foo = $string[0];
$nix = $string[1];
$bar = $string[2];

Mijn probleem is dat $nix "bar" wordt en niet $bar.
Ik heb al gesearched en geprobeerd, maar nog geen suc6 gehad.
edit:
oeps ik wilde alleen kijken.

[ Voor 65% gewijzigd door NielsNL op 23-10-2003 22:39 ]

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

werkt het niet dan :?

Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
Ik gok erop dat dat niet werkt, maar wat is het probleem en wat heb je zelf al geprobeerd? Ik heb helaas geen glazen bol :)

Acties:
  • 0 Henk 'm!

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 17-12-2024
regel 1 en 2 een puntkomma bijzetten aan het eind :?

sowieso, je string quoten?

PHP:
1
2
3
$string = "foo//bar";
$string = explode("/",$string);
print_r($string);


geeft bij mij
code:
1
2
3
4
5
6
Array
(
    [0] => foo
    [1] => 
    [2] => bar
)

[ Voor 109% gewijzigd door angl2k op 23-10-2003 22:41 ]


Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14
Ja, sorry, dit was ff snel...
PHP:
1
$string = explode("/",$_REQUEST['string']);

Zo haalt ie 'm op.

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 17-12-2024
je wilt dus dat $nix de waarde van de variabele $bar krijgt?

PHP:
1
2
3
$bar = "iets";
$nix = $$string[1];
echo $nix;

[ Voor 11% gewijzigd door angl2k op 23-10-2003 22:48 ]


Acties:
  • 0 Henk 'm!

  • Vae Victis
  • Registratie: April 2001
  • Laatst online: 07-09 06:15

Vae Victis

Dark Lord of the Sith

Wil je dit even doen?
PHP:
1
2
3
4
5
<?
echo $_REQUEST['string']."<br>" ;
$string = explode("/",$_REQUEST['string']);
print_r ( $string ) ;
?>  

Maby dat er bij jouw een / verdwijnt.
Verder doet script precies wat het behoord te doen hier. :?

edit
natuurlijk wel script aanroepen met '?string=foo//bar' erachter. :+

[ Voor 25% gewijzigd door Vae Victis op 23-10-2003 22:49 ]


Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 16:43

Kees

Serveradmin / BOFH / DoC
Stel dat $string = '1//2' dan wil hij dus dat $foo = 1 en $bar = 2 en $nix = ''.

Maar dat pikt PHP niet, en hij krijgt dus dat $foo = 1, $nix = 2 en $bar = '' (unset).

Hoe het op te lossen is weet ik niet, maar denk dat een verduidelijking van je probleem wel makkelijk is ;)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • Vae Victis
  • Registratie: April 2001
  • Laatst online: 07-09 06:15

Vae Victis

Dark Lord of the Sith

Kees schreef op 23 oktober 2003 @ 22:50:
Hoe het op te lossen is weet ik niet, maar denk dat een verduidelijking van je probleem wel makkelijk is ;)
Ik krijg er bij mij anders dit eruit:
code:
1
2
foo//bar
Array ( [0] => foo [1] => [2] => bar

Zal hem ergens anders in zitten.
Zijn prob mag alleen idd wel iets duidelijker gesteld worden.

Acties:
  • 0 Henk 'm!

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 17-12-2024
Kees, check mijn (1e) reply, dat is toch wat hij wilde? dat $foo "foo" wordt, $nix een lege string en $bar "bar"

bij mijn PHP explode ie dus wel met die lege string

[ Voor 28% gewijzigd door angl2k op 23-10-2003 22:54 ]


Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14
Ik denk dat ik toch ff naar mn .htaccess bestandje moet kijken.
Want dit stukje code werkt wel. :o
.htaccess:
code:
1
2
3
RewriteEngine On
RewriteBase /
RewriteRule ^new/(.*) /index.php?string=$1

als ik nu intype: localhost://new/foo//bar
dan zou die moeten redirecten naar localhost://index.php?string=foo//bar
Maar dat gaat dus ergens fout, ik zoek nog ff verder.
Ik wil nog van dat stukje "new" af als iemand daar tips voor heeft, heel graag.

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 17-12-2024
NielsNL schreef op 23 October 2003 @ 22:54:
Ik denk dat ik toch ff naar mn .htaccess bestandje moet kijken.
Want dit stukje code werkt wel. :o
.htaccess:
code:
1
2
3
RewriteEngine On
RewriteBase /
RewriteRule ^new/(.*) /index.php?string=$1

als ik nu intype: localhost://new/foo//bar
dan zou die moeten redirecten naar localhost://index.php?string=foo//bar
Maar dat gaat dus ergens fout, ik zoek nog ff verder.
Ik wil nog van dat stukje "new" af als iemand daar tips voor heeft, heel graag.
echo nou eens de $_REQUEST["string"] dan

Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14
Daar zijn inderdaad de "overbodige" slashes uit verdwenen. |:(
Iemand nog iedeeën terwijl ik search? :)
Het is mogenlijk, want GoT heeft het ook. :P

[ Voor 27% gewijzigd door NielsNL op 23-10-2003 23:04 ]

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • angl2k
  • Registratie: Maart 2001
  • Laatst online: 17-12-2024
als je zoiets wilt als bij tweakers lees dan effe dit artikel

Sitepoint

Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

Als je het 'ns aanroept met ?string=foo////bar.

Of is dat geen optie? Anders kun je misschien addslashes() gebruiken.

Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14
angl2k schreef op 23 October 2003 @ 23:07:
als je zoiets wilt als bij tweakers lees dan effe dit artikel
Sitepoint
edit:
Site gaat over het automagisch inkorten van de url door apache, hij gaat steeds een slash terug, totdat ie wat nuttigs tegenkomt, daarna haal je de REQUEST_URI zelf weer op.

Dat heb ik geprobeerd maar dat werkt om de één of andere dilustere reden niet.
in opera krijg ik: "No input file specified."
En in IE een 404 error (van IE zelf, niet apache.)
Ik heb m'n hele config uitgeplozen, maar kan niet vinden waar 'm dat in zit. (ik draai overigens XP).
En de 404 methode van die site zie ik niet zo zitten eigenlijk.

[ Voor 17% gewijzigd door NielsNL op 23-10-2003 23:19 ]

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

R_W schreef op 23 October 2003 @ 23:10:
Als je het 'ns aanroept met ?string=foo////bar.

Of is dat geen optie? Anders kun je misschien addslashes() gebruiken.
addslashes gaat over backslashes ;)

Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14
R_W schreef op 23 October 2003 @ 23:10:
Als je het 'ns aanroept met ?string=foo////bar.
Of is dat geen optie? Anders kun je misschien addslashes() gebruiken.
Dat kan wel, maar ziet er natuurlijk lang niet zo relaxed uit als http://url.com/foo////bar/

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • R_W
  • Registratie: Oktober 2002
  • Niet online

R_W

Erkens schreef op 23 oktober 2003 @ 23:19:
[...]

addslashes gaat over backslashes ;)
8)7 Doe het dan met str_replace :)

edit:

@NielsNL: str_replace is your answer dus :)

[ Voor 16% gewijzigd door R_W op 23-10-2003 23:22 ]


Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14
Neuh, REQUEST_URI, is m'n answer. :P
Ik krijg alleen ?string=foo/bar binnen, ik weet dus niet of er 2, 3, 4 of 5 slashes tussen zaten.
REQUEST_URI staat het nog wel gewoon in, nu nog ff m'n .htaccess aanpassen zodat ie ook zonder "new/" naar m'n index.php gaat.
* NielsNL is te vinden in de search. :P

[ Voor 14% gewijzigd door NielsNL op 23-10-2003 23:27 ]

M'n Oma is een site aan het haken.

Pagina: 1