Toon posts:

[php] if statement (onbegrijpelijk probleem)

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

Verwijderd

Topicstarter
In eerste instantie snapte ik er geen bal van waarom een bepaalde functie op mij site het niet meer deed en na wat speurwerk bleek een bepaalde if statment de boosdoener. Echter ik heb die betreffende file in geen weken aangeraakt!!!

ik heb nu van alles geprobeerd maar ik kan die kl*te lus maar niet meer aan de praat krijgen. Komt die:

[php]
$zender_id = $array[1];
echo $zender_id;
[php]

no problem: geeft netjes een output van de zenders
[
php]
$zender_id = $array[1];

if ($zender_id == 'SBS 6') {
echo "blaat";
}
[php]

Niks/Nada.....en geloof me die SBS 6 zit ertussen (ik heb ook al tig andere zenders geprobeerd)

dit is de simpelste if die er is en op deze manier heb ik hem al een miljoen gebruikt en nu wil die maar niet werken. Ben ik vaag aan het worden ofzo :? Ik snap er werkelijk geen hout van!

Verwijderd

Doe eens:
PHP:
1
<?if($zender_id == "SBS 6") echo "Hoera!";else echo '$zender_id' . " met waarde $zender_id was niet SBS 6";?>

En kijk eens wat er gebeurd.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

echo "($sender_id)";
misschien heb je last van spaties ervoor/achter (evt met trim() erover)

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
dat slikt die al helemaal niet...

beetje wazige statement ook zonder {} kan toch nooit goed zijn?

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op zondag 24 maart 2002 16:06 schreef sjaak1000 het volgende:
dat slikt die al helemaal niet...

beetje wazige statement ook zonder {} kan toch nooit goed zijn?
dat kan wel hoor :)
nix mis mee (behalve de leesbaarheid dan)
(voor 1 regelige dingen die in een if moeten dan)

Doet iets met Cloud (MS/IBM)


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

if ($zender_id == 'SBS 6')
maak daar eens
if ($zender_id == "SBS 6") van

Doet iets met Cloud (MS/IBM)


Verwijderd

Topicstarter
Op zondag 24 maart 2002 16:07 schreef D2k het volgende:

[..]

dat kan wel hoor :)
nix mis mee (behalve de leesbaarheid dan)
(voor 1 regelige dingen die in een if moeten dan)
oh..ik zie alleen maar parse errors

Verwijderd

Topicstarter
Op zondag 24 maart 2002 16:09 schreef D2k het volgende:
if ($zender_id == 'SBS 6')
maak daar eens
if ($zender_id == "SBS 6") van
geprobeerd...boeit niet

Verwijderd

Topicstarter
heb deze er nog ff ingegooid
PHP:
1
<?if ($zender_id == "SBS 6") {echo "vet";} else {echo "$zender_id gaat niet goed";}?>

komt o.a dit uit

"gaat niet goedSBS 6 gaat niet goed" etc

Maar daar staat verdomme wel SBS 6

probleem zit hem echt hier

if ($zender_id == "SBS 6")

of zou de syteembeheerder de php engine gigantisch verneukt hebben (kan me niet voorstellen)

  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Met je if-statement is niks mis volgens mij, misschien moet je ff " gebruiken.

Leest hij de array wel in? doe us echo $array[1] ?

/edit: globals?
global $array;
$zender_id = $array[1];

Sundown Circus


  • Marijn_S
  • Registratie: Februari 2001
  • Niet online
Zit er niet misschien een spatie achter SBS 6?
Dus dat de string 'SBS 6 ' is?

edit:
Oke, ben beetje blind, was al gezegd, never mind, sorry ;)

System specs - Ik word blij van knipperende lichtjes.


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op zondag 24 maart 2002 16:06 schreef D2k het volgende:
echo "($sender_id)";
misschien heb je last van spaties ervoor/achter (evt met trim() erover)
Op zondag 24 maart 2002 16:17 schreef Cerberus het volgende:
Zit er niet misschien een spatie achter SBS 6?
Dus dat de string 'SBS 6 ' is?
:)

Doet iets met Cloud (MS/IBM)


Verwijderd

PHP:
1
<?if (trim($sender_id) == "SBS 6") {  echo "dit is em";} else { echo "-".trim($sender_id)."-<br>"; }?>

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-09 18:58
Er is geen verschil tussen...
PHP:
1
<?echo $bla == "hoi";?>

...en...
PHP:
1
<?echo $bla == 'hoi';?>

Verwijderd

Topicstarter
Op zondag 24 maart 2002 16:15 schreef RedRose het volgende:
Met je if-statement is niks mis volgens mij, misschien moet je ff " gebruiken.

Leest hij de array wel in? doe us echo $array[1] ?
allemaal gedaan...ik kan best een beetje php'en en dit soort testjes heb ik allemaal al lang gedaan (no offense).

" geprobeerd en array klopt

  • Ericston
  • Registratie: Maart 2001
  • Laatst online: 05-09 18:58
Op zondag 24 maart 2002 16:14 schreef sjaak1000 het volgende:
heb deze er nog ff ingegooid
PHP:
1
<?if ($zender_id == "SBS 6") {    echo "vet";} else {    echo "$zender_id gaat niet goed";}?>

komt o.a dit uit

"gaat niet goedSBS 6 gaat niet goed" etc
Die output klopt ook niet helemaal...

edit:
Wat bedoel je eigenlijk met 'o.a.' en 'etc'.
Als je wil dat je probleem wordt opgelost moet je wel duidelijk zijn.

  • cobratbq
  • Registratie: Maart 2001
  • Laatst online: 17-12-2015
heb je al geprobeerd om de strings te vergelijken met string compare

strcmp( $string1, $string2 )

met een result 0 zijn ze gelijk.
Die gebruik ik altijd en die werkt ook altijd.
Tis een idee

One ring to rule them all, one ring to find them, one ring to bring them all, and in darkness bind them...


  • RedRose
  • Registratie: Juni 2001
  • Niet online

RedRose

Icebear

Wat is nou de PRECIEZE output dan?

Sundown Circus


Verwijderd

Topicstarter
geloof dat er een oplossing aankomt...
even testen..momnetje kom ik zo ff vertellen

(if (trim($zender_id) == 'SBS 6') {

iig lijkt deze trim toch te werken (onbegrijpelijk want het heeft altijd gewerkt zonder)

  • Grum
  • Registratie: Juni 2001
  • Niet online
der komt nogal veel snot in deze thread voor .. eventjes een summary maken >:)

[edit]

hmmz het meeste word wel een soort van duidelijk in deze thread zelf

maar ok volgende keer als je dit probleem krijgt doe je gewoon eventjes een var_dump(); op je string

een var_dump geeft nl ook hoeveel tekens erin zitten en als je dan trailing 'seemingly' empty tekens hebt zie je dat dus direct.

de 'oplossing' met trim is echt niet ok .. het lost het probleem wel op .. maar pakt de oorzaak niet aan. Je weet nu nog steeds niet wat en vooral waarom het mis is gegaan.

Dit soort topics zouden niet eens op got mogen verschijnen imho.

Verwijderd

Topicstarter
Op zondag 24 maart 2002 16:44 schreef sjaak1000 het volgende:
ok..thanks guy's het werkt weer, oplossing was dus toch:
PHP:
1
<?$zender_id = trim($array[1]);?>

(trimmetje dus)

maar het blijft extreem vaag dat een script dat het tijden lang deed en waar ik niets aan veranderd heb ineens deze toevoeging nodig heeft. Maar ok, er zijn wel maffere dingen op deze aardkloot :)

thanks again!

(of misschien ben ik wel een slaapscriptingwandelaar :+ )

  • Grum
  • Registratie: Juni 2001
  • Niet online
wrong button :?

Verwijderd

Topicstarter
Dit soort topics zouden niet eens op got mogen verschijnen imho.
ben ik niet met je eens...Ik heb echt lang zitten zoeken naar een oplossing (en ookgewtijfeld om het op GOT te plaatsen) maar soms zie je wel eens wat over het hoofd... Vaak is het relaxed als iemand anders (met een frisse mind) naar je probleem kijkt...zo werkt dat bij ons op school ook. Ik zat er ff doorheen en dank iedereen hartelijk

  • Grum
  • Registratie: Juni 2001
  • Niet online
Ach ... der zijn zat dingen die je eerst kan doen als 2 strings niet matchen terwijl jij vind dat ze dat wel moeten.

1/ check de lengte van beide <-- daarmee heb je 99% van de problemen al afgevangen.
2/ check ze char voor char <-- daarmee vang je de resterende problemen af

Echt geen rocket science dus en zelfs niet eens dicht bij GoT-Topic-waardig in de buurt.

Tuurlijk is het fijn als mensen voor je gaan zitten debuggen maar zeg nou zelf .. die 2 dingen zijn toch niet zo lastig (nee ook niet om zelf te bedenken) :?

:'(

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 09-09 11:02
Ik heb zo'n idee dat een debugging tutorial in de FAQ geen slecht idee zou zijn. Veel van dit soort problemen zouden door goed debuggen voorkomen kunnen worden (ik weet dat ik er niet meer dan 5 minuten voor nodig zou hebben) en de topics die er door ontstaan zijn eigenlijk volledig oninteressant. Ze horen wat mij betreft dus ook niet op GoT thuis, maar als je niet kan debuggen kun je natuurlijk niet beoordelen of je misschien toch een interessant probleem hebt.

Daarbij helpen de meeste van de reacties in deze thread ook niet. Het gebruik van dubbele in plaats van enkele quotes was in dit geval compleet irrelevant, zoals uit de code bleek. Het had dan ook weinig nut om dat te suggeren. Ook dingen als accolades om een enkele statement weghalen en het gebruik van strcmp in plaats van == lijken me nogal onzinnig. Het heeft mijns inziens geen zin om suggesties te doen als je geen reden hebt om aan te nemen dat ze het probleem zouden kunnen oplossen.

  • Grum
  • Registratie: Juni 2001
  • Niet online
Het maakt niet uit watvoor tutorial je maakt ... echt niet .. deze dingen blijven toch wel op got komen .. puur uit luiheid/gebrek-aan-clue om et even zelf goed aan te pakken.

Als dit al gepost word op got .. denk dan echt niet dat ze moeite doen om een tutorial te lezen en/of het zelf dan alsnog uit te zoeken.

Der zit maar 1 positief ding aan .. ze kunnen zonder pardon gesloten worden met een verwijzing naar de tutorial.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op zondag 24 maart 2002 17:05 schreef Soultaker het volgende:
Ik heb zo'n idee dat een debugging tutorial in de FAQ geen slecht idee zou zijn.
kijk voor de grap es in de faq :X

Doet iets met Cloud (MS/IBM)


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

ok lijkt me duidelijk dit
met de hints van Grum is dit voortaan wel zelf op te lossen

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.