[PHP] in_array() probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Hallo tweakers,

Mijn probleem is als volgt
ik heb een lijstje en die ziet er als volgt uit "nico|jan|krozz56|veertje|kip2002" etc
deze array doe ik als volgt ontleden

PHP:
1
2
3
<?
$friendies = explode("|",$user->friends);
?>


dit werkt gewoon, het werkt ook met de rest van de pagina.
Maar als ik dan het volgende stuk erin zet:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
if ($_GET[friend])
    {
    if (in_array("$_GET[friend]",$friendies))
        {
        echo("<ul><li>\"$_GET[friend]\" is al een vriendje van je!</li></ul>");
        }
    else
        {
        mysql_query("UPDATE ****** SET friends='".$user->friends.|.$_GET[friend]."' WHERE ***='$user->username'");
        }
    echo("23423542345");
    }
?>


Gebeurt er helemaal niks,
ik krijg geen enkele output van de server
ook niet als ik een url heb waar geen $_GET[friend] in zit

Ik kan het probleem niet vinden, ook niet op php.net
Wie o wie weet waar het probleem zit...

Acties:
  • 0 Henk 'm!

  • esf
  • Registratie: Juni 2002
  • Laatst online: 21-02 08:56

esf

Moet je geen quotes gebruiken in $_GET[friend]? (dus $_GET['friend'])

[ Voor 10% gewijzigd door esf op 26-06-2003 09:47 ]

The hardest thing in the world to understand is the income tax. - Albert Einstein


Acties:
  • 0 Henk 'm!

Verwijderd

esf schreef op 26 June 2003 @ 09:44:
Moet je geen quotes gebruiken in $_GET[friend]? (dus $_GET["friend"])
Dat is hoogstwaarschijnlijk het probleem. Wat ook wel handig is, is om ff

print_r($_GET);

te doen. Dan weet je hoe dat array er uit ziet en wat er in zit.

Acties:
  • 0 Henk 'm!

  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 16-09 23:43

mOrPhie

❤️❤️❤️❤️🤍

Geeft $_GET[friend] wel iets terug?

Zet
code:
1
  echo isset($friend)

'ns boven de eerste "if". Dat is trouwens ook een betere manier om te checken of een var aanwezig is imho. :)

--edit--

En die dubbele quotes om de $_GET[friend] heen, moeten ook weg eik. Dus:
code:
1
if (in_array($_GET[friend],$friendies))

[ Voor 31% gewijzigd door mOrPhie op 26-06-2003 09:50 ]

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


Acties:
  • 0 Henk 'm!

  • GraasGast
  • Registratie: Oktober 2000
  • Laatst online: 02-09 19:22

GraasGast

Analogue Heaven

beetje offtopic, maar is het niet slimmer om in plaats van usernames gewoon user_id's te gebruiken? :?

en is het niet nog slimmer om in plaats van een pipe|gescheiden string een koppeltabel te gebruiken? :)

Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
hey,

ik gebruik geen userid's :p
mijn userid is de gebruikersnaam

Maar hoe bedoel je die koppeltabel? K ben wel benieuwd

Het probleem is al opgelost, het probleem lag namelijk in de mysql query... en ik maar denken dat het aan de array lag :$ hehe

Acties:
  • 0 Henk 'm!

Verwijderd

partypas schreef op 26 juni 2003 @ 09:59:
hey,

ik gebruik geen userid's :p
mijn userid is de gebruikersnaam

Maar hoe bedoel je die koppeltabel? K ben wel benieuwd

Het probleem is al opgelost, het probleem lag namelijk in de mysql query... en ik maar denken dat het aan de array lag :$ hehe
Dat is nou vervelend, want wat als er nu twee mensen "Jantje" als gebruikers naam willen? Dat zou dan niet mogen omdat jou database dat niet toestaat.
Als je een id gebruikt kunnen er best twee "Jantjes" zijn, eentje met id 20 en de ander met id 44...geen probleem :)

En een koppeltabel verbind gegevens met elkaar.
Dan heb je bijvoorbeeld een tabel "users" met "user_id" en een tabel "friends" met "user_id" en "friend_id". Die koppeltabel kan er dan zo uitzien:
code:
1
2
3
4
id | user_id   | friend_id
1  |     20    | 44
2  |     20    | 12
3  |     20    | 31

waarbij friend_id staat voor een user_id uit de tabel "users"

En dan kun je alle vriendjes van user met user_id 20 op deze manier uit de database halen: SELECT friend_id FROM friends WHERE user_id = 20


Enne, op jou manier zal dit ook niet werken:
code:
1
friends='".$user->friends.|.$_GET[friend]."'

Als je met dit systeem door wilt gaan zal het iig zo moeten:
code:
1
friends='".$user->friends."|".$_GET[friend]."'

[ Voor 80% gewijzigd door Verwijderd op 26-06-2003 10:40 ]


Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Thanx voor de uitleg

Ik heb meteen mijn hele vriendjes systeem aangepast :)

Acties:
  • 0 Henk 'm!

Verwijderd

Jij blij, wij blij, vriendjes blij, iedereen blij :+
Pagina: 1