login  Naam:   Wachtwoord: 
Registreer je!
 Forum

2 strings losmaken

Offline smoos - 06/08/2005 12:36
Avatar van smoosPHP gevorderde hey
ik heb 2 strings en die wil ik samen in 1 string gooie. met - als koppelteken dus hier een voorbeeld:
  1. <?php
  2. $a = q0az1xswe8dc;
  3. $b = fju8v43nt7b;
  4.  
  5. $c = $a."-".$b;
  6. // $c is dus: q0az1xswe8dc-fju8v43nt7b
  7. ?>

maar nu wil ik dat ik ze doormiddel van het koppelteken (die niet in die strings zelf voor kunnen komen) weer de 2 strings van elkaar los halen.

volgens mij heb ik ooit zo'n functie gezien maar ik kon um niet vinde bij "Overzicht"

13 antwoorden

Gesponsorde links
Offline Ibrahim - 06/08/2005 12:42
Avatar van Ibrahim PHP expert ik dacht dat dat explode was, maar weet het niet zeker
Offline smoos - 06/08/2005 12:46 (laatste wijziging 06/08/2005 12:50)
Avatar van smoos PHP gevorderde mm ff kijken.
  1. <?php
  2. $a= $c;
  3. $b = explode ("-", $a);
  4. ?>

en dan? moet ik ze dan weergeven als array?
$b['0']
$b['1']

ff kijken of het werkt 

edit:
ik heb nu dit en het werkt:
  1. <?php
  2. $a = "q0az1xswe8dc";
  3. $b = "fju8v43nt7b";
  4.  
  5. $c = $a."-".$b;
  6.  
  7. $d = $c;
  8. $e = explode ("-", $d);
  9.  
  10. echo $e['0']."<br />".$e['1'];
  11.  
  12. // dit geeft:
  13. // q0az1xswe8dc
  14. // fju8v43nt7b
  15. ?>
Offline Ibrahim - 06/08/2005 12:48 (laatste wijziging 06/08/2005 12:48)
Avatar van Ibrahim PHP expert zonder '' 

  1. <?php
  2. $c = $a."-".$b;;
  3. $array = explode(" ", $string);
  4. echo $array[0]; //waarde: q0az1xswe8dc
  5. echo $array[1]; //waarde: -
  6. echo $array[2]; //waarde: fju8v43nt7b;
  7. ?>


zoiets? mag ik vragen waarom je dit eigelijk wilt? ben wel nieuwsgierig naar...
Offline smoos - 06/08/2005 12:54
Avatar van smoos PHP gevorderde als men inlogt dan word cookies opgeslagen. en in die cookies staan 2 variabelen. het id van de user en een md5 van de id.
deze worde met een koppelteken wat niet mag opvallen aan elkaar gezet. bij de functie die kijkt of er niet geknoeit is met de cookies worden de 2 waardes uit elkaar gehaald en gecrontrolleerd met de gegevens in de database. als 1 van de 2 waardes niet kloppen (dus is er met het cookie gespeeld) dan word de toegang geweigerd. dit is omdat ik eerst alleen het id van de user had opgeslagen in een cookie. dus men kon op mijn naam op de site komen als ze mijn id in het cookie zette.
door dit "warrige" systeem zal dit soort acties vermeden worden
Offline Ibrahim - 06/08/2005 12:59
Avatar van Ibrahim PHP expert is het niet beter om met sessies te werken, waardoor je minder risico loopt dat je systeem word gehacked aangezien alles word opgeslagen op je server.
Offline smoos - 06/08/2005 13:01 (laatste wijziging 06/08/2005 13:02)
Avatar van smoos PHP gevorderde jah idd bij sessies heb ik gewoon de 2 waardes in 2 versgillende sessies zodat die niet aanelkaar hoeven en van elkaar los.

maar het nadeel is dat je dan elke keer als je naar de site gaat opnieuw moet inlogge (als je in een ander venster gaat)

en dat vind ik zelf zeer irri 

en volgens mij zal niemand dit id doorhebben hoe het precies werkt. je zal dus wel begrijpen dan er na dit nog een paar aanpassingen komen  
Offline Ontani - 06/08/2005 13:04
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
ik zou zeggen doe het volgende:

  1. <?$idlength = strlen($id); // de lengte van het id in een var zetten
  2. $specialVar = $idlength.$id.$md5Hash; // bijvoorbeeld: 250ds5qs4dqs231dq3sd8q4sd
  3. ?>


bij het ophalen doe je dan:
  1. <?
  2. $idLength = $specialVar{0}; // eerste char van de specialVar, dus de lengte van het id
  3. $id = substr($specialVar,1,$idLength);
  4. $md5hash = substr($specialVar,$idLength);
  5. ?>
Offline ikkedikke - 06/08/2005 13:14 (laatste wijziging 06/08/2005 13:17)
Avatar van ikkedikke PHP expert waarom check je het niet zo?:
  1. <?
  2. $sql = 'SELECT * FROM `gebruikers` WHERE `id`+md5(`id`) = \''.$_COOKIE['check'].'\' LIMIT 1;';
  3. ?>

edit:
ontani:
die laatste regel van die code werkt niet als het goed is:
$md5hash = substr($specialVar,$idLength);
het moet $idlength+1 zijn, omdat dat eerste getal er nog voor staat.
Offline Ibrahim - 06/08/2005 13:16
Avatar van Ibrahim PHP expert
Citaat:
maar het nadeel is dat je dan elke keer als je naar de site gaat opnieuw moet inlogge (als je in een ander venster gaat)


zet dan bovenaan session_start();
Offline smoos - 06/08/2005 13:22
Avatar van smoos PHP gevorderde dat staat bovenaan.
maar ik bedoel als ik het venster wegklik en ik open een nieuwe venster en ik ga naar me site dan moet ik opnieuw inloggen. en met dit cookie id niet
Offline Ontani - 06/08/2005 14:56
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
@ikkedikke: normaal moet dat wel werken, begint te tellen vanaf 0 
Offline Ibrahim - 06/08/2005 15:31 (laatste wijziging 06/08/2005 15:32)
Avatar van Ibrahim PHP expert
Citaat:
maar ik bedoel als ik het venster wegklik en ik open een nieuwe venster en ik ga naar me site dan moet ik opnieuw inloggen. en met dit cookie id niet


Doe dan
  1. <?php
  2. if(!isset($_SESSION['gebruikersnaam'])){
  3. //hij is niet ingelogd
  4. }
  5. else {
  6. // hij is wel ingelogd
  7. }
  8. ?>


en heb je ook de sessies aangemaakt? dat kan zijn dat de sessies niet eens bestaan

OFF-TOPIC: ik typ in een layout van sitemasters dat niet zo goed is deze tekstvak staat tussen de copyright vermelding klopt dit
Offline Ontani - 06/08/2005 16:35 (laatste wijziging 06/08/2005 16:35)
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
OFF-TOPIC-REPLY: gewoon refreshen dan is da terug inorde
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.254s