[PHP & mySQL]zeer vage parse error fout....

Pagina: 1
Acties:

  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
        <?
        include("connect.php");
        $query=mysql_query("SELECT * FROM wars); 
        $gegevens=mysql_fetch_array($query);
        if ($date==$dateyear and $warid==$id) 
        {  
        echo "$id";
        } 
        elseif($date==$dateyear){
        echo "$dateyear";
        }
        else 
        {  
        echo "Jammer";
        }
        
?>

dat is een gedeelte van mijn nieuwe pagina.. eerst werkt het gewoon nou .. wilt hij helemaal niks meer doen.. zeer vaag
het is dus voor een pagina: war_detail.php?date=2000&warid=1 (dit is een voorbeeld)

$dateyear & $id staan gewoon in de database...
maar nu wilt hij niks meer laten zien en krijg een een parse error fout op de regel van echo "$id";"

is het misschien zo dat hij, niet door heeft welke dingen in de database staan???

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
if (($date==$dateyear) and ($warid==$id))

En de database is gevuld?
dateyear en id zijn bekend in php?
doe es echo $dateyear enzo?

Verwijderd

" vergeten op de tweede regel

  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
ik heb ff lopen klote met de spullen en heb nu dit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
            <?
        include("connect.php");
        $query=mysql_query("SELECT year,id FROM wars"); 
        $gegevens=mysql_fetch_array($query);
        if ($date==$year and $warid==$id) 
        {  
        echo "$id";
        } 
        elseif($date==$year){
        echo "$dateyear";
        }
        else 
        {  
        echo "Jammer";
        }
        
?>

nu krijg ik dus de fouten:
code:
1
2
3
Warning:  Undefined variable:  year in c:\inetpub\wwwroot\war_detail.php on line 104
Warning:  Undefined variable:  year in c:\inetpub\wwwroot\war_detail.php on line 108
Jammer

waarbij line 104: if ($date==$year and $warid==$id)
en line 108: elseif($date==$year){
is...

  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 04-09 15:49
Op donderdag 06 december 2001 09:54 schreef RaMMSTeiN het volgende:
PHP:
1
2
3
4
5
6
<?
        <?
        ..
        $query=mysql_query("SELECT * FROM wars); 
        ..
?>
Moet worden:
PHP:
1
2
3
<?
$query=mysql_query("SELECT * FROM wars"); 
?>

Team ColdFusion


  • Kjev
  • Registratie: Juni 2001
  • Laatst online: 02-01-2024
Hè? Je doet $dateyear en $id, maar deze zijn blijkbaar nog niet eens uit de database gehaald. Je moet wel $gegevens["id"] o.i.d. doen, anders pakt hij een lege variabele. Dat is niet vaag, dat heet programmeren. Je bent trouwens een aanhalingsteken vergeten in de query.

edit: Te traag gereageerd :'(

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:00
Op donderdag 06 december 2001 10:00 schreef Zef het volgende:
" vergeten op de tweede regel
Handig toch die kleuren :o

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:00
Trouwens: dit is les 1 waarom je dus niet kladblok moet gebruiken |:( , maar wel een fatsoenlijke editor (bijvoorbeeld Homesite).

  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
Op donderdag 06 december 2001 10:00 schreef Nielsz het volgende:
if (($date==$dateyear) and ($warid==$id))

En de database is gevuld?
dateyear en id zijn bekend in php?
doe es echo $dateyear enzo?
ja heb hem gevuld met een test regel 1
en bij dateyear=2000 geeft ie hetzelfde probleem

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 06 december 2001 10:02 schreef dennisdotcom het volgende:
Trouwens: dit is les 1 waarom je dus niet kladblok moet gebruiken |:( , maar wel een fatsoenlijke editor (bijvoorbeeld Homesite).
Ik heb tijden met kladblok gewerkt, en kladblok is geen vrijbrief hiervoor :) oftewel ik heb er nooit probs mee gehad.

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:00
Op donderdag 06 december 2001 10:04 schreef Nielsz het volgende:
Ik heb tijden met kladblok gewerkt, en kladblok is geen vrijbrief hiervoor :) oftewel ik heb er nooit probs mee gehad.
Kladblok is zeeer inefficient |:(

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

D2k

Op donderdag 06 december 2001 10:02 schreef dennisdotcom het volgende:
Trouwens: dit is les 1 waarom je dus niet kladblok moet gebruiken |:( , maar wel een fatsoenlijke editor (bijvoorbeeld Homesite ULTRA-EDIT).
:)

Doet iets met Cloud (MS/IBM)


Verwijderd

Op donderdag 06 december 2001 10:04 schreef Nielsz het volgende:

[..]

Ik heb tijden met kladblok gewerkt, en kladblok is geen vrijbrief hiervoor :) oftewel ik heb er nooit probs mee gehad.
Wat hij bedoeld is dat je met bijvoorbeeld ultraedit of editplus kunt
edit:
beter
ZIEN dat je een " vergeten bent (in sommige editors die ook strings over meerdere regels ondersteunen kun je het nog beter zien).

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:00
Op donderdag 06 december 2001 10:05 schreef D2k het volgende:
:)
:D
Op donderdag 06 december 2001 10:07 schreef Zef het volgende:
Wat hij bedoeld is dat je met bijvoorbeeld ultraedit of editplus kunt ZIEN dat je een " vergeten bent (in sommige editors die ook strings over meerdere regels ondersteunen kun je het nog beter zien).
+1 inzichtvol

  • Onno
  • Registratie: Juni 1999
  • Niet online
Op donderdag 06 december 2001 10:07 schreef Zef het volgende:
Wat hij bedoelt is dat je met bijvoorbeeld ultraedit of editplus kunt ZIEN dat je een " vergeten bent (in sommige editors die ook strings over meerdere regels ondersteunen kun je het nog beter zien).
Maar dat kun je in kladblok OOK zien.. je moet alleen beter kijken. :)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 06 december 2001 10:05 schreef dennisdotcom het volgende:

[..]

Kladblok is zeeer inefficient |:(
Jah, daar ben ik nu ook achter jah :)
ultra-edit dus :)


edit: lol @ onno

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:00
Op donderdag 06 december 2001 10:13 schreef Nielsz het volgende:
Jah, daar ben ik nu ook achter jah :)
Duh |:( :P ;)

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

D2k

Op donderdag 06 december 2001 10:13 schreef Nielsz het volgende:

[..]

Jah, daar ben ik nu ook achter jah :)
ultra-edit dus :)


edit: lol @ onno
jippie weer een ultraedit zieltje gewonnen :)

Doet iets met Cloud (MS/IBM)


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:00
Op donderdag 06 december 2001 10:15 schreef D2k het volgende:
jippie weer een ultraedit zieltje gewonnen :)
Ben jij zo'n jehova die langs de deuren gaat? :P

  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
hahaha
ik gebruik zelf dreamweaver ultradev, kan je het ook wel zien ... ik heb er ook ultra edit op staan, eens kijken of dat goed werkt ;)

maar ja, ff ontopic:

ik heb alles ff verandert wat (ik denk wat jullie bedoelde :P )
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
            <?
        include("connect.php");
        $query=mysql_query("SELECT year,id FROM wars"); 
        $gegevens=mysql_fetch_array($query);
        if (($date==$gegevens["year"]) and ($warid==$gegevens["id"])) 
        {  
        echo "warid klopt ;)";
        } 
        elseif($date==$gegevens["year"]){
        echo "jaar ook ;)";
        }
        else 
        {  
        echo "Jammer";
        }
        
?>

nu werkt hij bij war_detail.php?date=2000&warid=1 ik krijg mooi warid klopt ;)

maar wannneer ik war_detail.php?date=2000 krijg ik deze fout weer:

Warning: Undefined variable: warid in c:\inetpub\wwwroot\war_detail.php on line 104
jaar ook ;)


waarbij lijn 104 is: if (($date==$gegevens["year"]) and ($warid==$gegevens["id"])) is

Verwijderd

Op donderdag 06 december 2001 10:10 schreef Onno het volgende:

[..]

Maar dat kun je in kladblok OOK zien.. je moet alleen beter kijken. :)
Bijdehand ;) Post even ge-edit :)

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

drm

f0pc0dert

Op donderdag 06 december 2001 10:01 schreef RaMMSTeiN het volgende:
blabla
Logisch. Je selecteert 2 velden:
PHP:
1
2
3
<?
$query=mysql_query("SELECT year,id FROM wars"); 
?>

Vervolgens haal je de 1e record uit de resultset, en stopt die record in een array $gegevens
PHP:
1
2
3
<?
$gegevens=mysql_fetch_array($query);
?>

Maar, nu verwacht je niet dat die gegevens in de array geplaatst zijn, maar in 2 globale variabelen, namelijk $year en $id:
code:
1
2
Warning:  Undefined variable:  year in c:\inetpub\wwwroot\war_detail.php on line 104
Warning:  Undefined variable:  year in c:\inetpub\wwwroot\war_detail.php on line 108

Het probleem is dat je je resultaten in een array $gegevens stopt en er vervolgens niets meer mee doet, maar verwacht dat de veldwaarden in globale variabelen staan.

Da klopnie.

daarom: lees even dit


edit:
t***ing veel te laat ...


nou, volgende antwoord:

De variabelen die je meegeeft in de querystring "date=2000&warid=1" zullen "bestaan" in je php document. Als je warid er dus niet in zet, zal die ook niet bestaan

Om te checken of zo'n variabele is meegegeven gebruik je de functie isset (soms in combinatie met empty als je echt zeker wilt zijn)

edit2: typo

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


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 06 december 2001 10:15 schreef D2k het volgende:

[..]

jippie weer een ultraedit zieltje gewonnen :)
:) Mag jij 'm eens bij mij komen configgen, want syntaxhighlighting werkt nog niet automagisch 8-)

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:00
Op donderdag 06 december 2001 10:16 schreef RaMMSTeiN het volgende:
ik heb alles ff verandert wat (ik denk wat jullie bedoelde :P )
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
            <?
        include("connect.php");
        $query=mysql_query("SELECT year,id FROM wars"); 
        $gegevens=mysql_fetch_array($query);
        if (($date==$gegevens["year"]) and ($warid==$gegevens["id"])) 
        {  
        echo "warid klopt ;)";
        } 
        elseif($date==$gegevens["year"]){
        echo "jaar ook ;)";
        }
        else 
        {  
        echo "Jammer";
        }
        
?>

nu werkt hij bij war_detail.php?date=2000&warid=1 ik krijg mooi warid klopt ;)

maar wannneer ik war_detail.php?date=2000 krijg ik deze fout weer:

Warning: Undefined variable: warid in c:\inetpub\wwwroot\war_detail.php on line 104
jaar ook ;)


waarbij lijn 104 is: if (($date==$gegevens["year"]) and ($warid==$gegevens["id"])) is
Gek hè |:(

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

drm

f0pc0dert

Op donderdag 06 december 2001 10:17 schreef dennisdotcom het volgende:
Gek hè |:(
tut tut... niet boos worden :)

Rammstein>> zie mijn uitleg in mijn vorige post

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


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 21:00
Op donderdag 06 december 2001 10:21 schreef drm het volgende:
binnenkort: drm.XTP: Extensible Template Parser v0.9a (php)
Hmmmz

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
        include("connect.php");
        $query=mysql_query("SELECT year,id FROM wars"); 
        list($year,$id)=mysql_fetch_row($query);
        if (($date==$year) and ($warid==$id)) 
        {  
        echo "warid klopt ;)";
        } 
        elseif($date==$year){
        echo "jaar ook ;)";
        }
        else 
        {  
        echo "Jammer";
        }
        
?>

zoiets.

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

drm

f0pc0dert

Op donderdag 06 december 2001 10:22 schreef dennisdotcom het volgende:

[..]

Hmmmz
ik weet niet zo goed wat ik hier van moet denken :? ;)

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


  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
ik ben een verschrikkelijk n00b met deze zooi :r (no shit :+)

thnx drm.. zal eens kijken of het lukt
nielsz .. ik krijg daarmee een parse fout op de $query regel....

en hoe moet ik kleuren goed instellen bij UE32?? ik heb hem op HTML gezet, maar dan is de hele PHP shit niet in kleur gehult...


(dit heb ik dus gedaan bij view >>> view as >>>)

  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

zou je, voordat je van alles gaat doen, niet eerst even controleren of er wel gegevens worden meegegeven met je script?? Bijvoorbeeld zo:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
  if (isset($date) &amp;&amp; (isset($id))
  {
    .
    .
    .
  }
  else
  {
    echo "<font size=72 color=red>Niet Hacken!</font>";
  }
?>

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


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

drm

f0pc0dert

Op donderdag 06 december 2001 10:40 schreef corani het volgende:
zou je, voordat je van alles gaat doen, niet eerst even controleren of er wel gegevens worden meegegeven met je script?? Bijvoorbeeld zo:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
  if (isset($date) &amp;&amp; (isset($id))
  {
    .
    .
    .
  }
  else
  {
    echo "<font size=72 color=red>Niet Hacken!</font>";
  }
?>
there you go ;)

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


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 16-09 17:15

Kees

Serveradmin / BOFH / DoC
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
  if ((isset($date)) &amp;&amp; (isset($warid))) {
    include("connect.php");
    $query=mysql_query("SELECT * FROM wars where year=$date and id=$warid");
    if ($gegevens=mysql_fetch_row($query)) {
      echo "$id";
    }
    else { 
      echo "Jammer";
    }
  }
  else
    echo "Je bent vergeten beide vars mee te geven");
?>

Jouw gedachtengang (volgens mij) en de fout daarin:
Je hebt een grote dbase, met honderden id's, hieruit haal je het eerste resultaat (select * from table, fetch_array eerste resultaat).
Tenzij alle data en id's gelijk zijn in de dbase zal dit slechts kloppen als date en warid gelijk zijn aan het allereerste resultaat dat je terugkrijgt. Je kunt veel beter in de dbase al kijken of de vars bestaan (na een tjek of ze wel bestaan, de eerste 2xisset() :))
Vervolgens, ALS je een resultaat terugkrijgt weet je dat de vars kloppen, als je geen resultaat terug krijgt klopt de combinatie van die 2 vars niet.
Eigenlijk moet de eerste regel nog erger zijn om misbruik te voorkomen:
PHP:
1
2
3
<?
if ((isset($date)) &amp;&amp; (isset($warid)) &amp;&amp; (is_numeric($date)) &amp;&amp; (is_numeric($warid)) ) {
?>

maar dat is alleen een verplichting als je de vars (zoals ik doe) in een keer in de querie dumpt :)

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


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Kees >> als je isNumeric hebt gedaan, dan hoef je toch niet nog eens isSet te doen? isNumeric zal FALSE returnen als de var leeg is denk ik?
Of heb ik weer een false ;) beeld van php?

  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
volgens mij kan mijn webserver dat isset niet aan ofzo. ik krijg de hele tijd een parse error op de isset regel :?


ik zal ff een uitleg geven wat ik wilde doen:

men komt bij de wars pagina: daar kan men kiezen uit 3 (volgende jaar 4) dingen, wedstrijden uit 2000,2001 en de toekomenst (:+) waarbij de laatste geen connectie met de database hoeft te maken

dus wannneer men dus 2000 bijvoorbeeld aanklikt wordt het als url: war_detail.php?date=2000 bij deze pagina moet door PHP dus uit de database alle wars komen met het "year" als 2000, dit moet dan in een hele lijst komen.. met bepaalde dingen.. dit gedeelte is dan niet zo moeilijk datheb ik ook gedaan met met members gedeelte...
dus dan klikt men een war aan (met warid=1) dus dan krijg je:
war_detail.php?date=2000&warid=1

in eeen IF/ELSE scripie kan je dat dan mooi maken (dacht ik, want het heeft gewerkt)... maar nu wilt het in 1 keer niet meer werken.. ik vindt het maar vaag

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

drm

f0pc0dert

Op donderdag 06 december 2001 11:02 schreef RaMMSTeiN het eea over zijn scriptje
laat die isset-regel eens even zien? Misschien ben je ervoor een haakje, een sluitaccolade of een ; vergeten?

Volgens mij begrijp jij het idee van SQL niet helemaal. Juist de selectie van gegevens uit een database moet je met SQL (Structured Query Language) doen. Als je bijv. alle wars van 2000 wilt hebben doe dat ong. zo:
code:
1
2
3
SELECT   warName,warID
FROM     wars
WHERE    year='2000' #<--- HIER zet je de criteria, NIET in PHP

Lees even de tutorial van de MySQL docs door, ik denk dat je dan een stuk verder komt. Leer eerst de MySQL-taal voordat je dat soort dingen puur in PHP gaat maken.

Je laat zo een heel stuk functionaliteit liggen die juist voor databases zo handig is :)

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


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

drm

f0pc0dert

Op donderdag 06 december 2001 11:00 schreef Nielsz het volgende:
Kees >> als je isNumeric hebt gedaan, dan hoef je toch niet nog eens isSet te doen? isNumeric zal FALSE returnen als de var leeg is denk ik?
Of heb ik weer een false ;) beeld van php?
mwuhaahaa. Je bent een false hond. >:)

Ik denk dat je daar wel gelijk in hebt, maar die isset zou ik er altijd bij zetten, ook al is het alleen maar voor de leesbaarheid van de code.
call me a miereneuker, if you like

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


  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
n000b question
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
if($date==2000 and $warid==1)
{ 
echo "warid klopt";
}
elseif($date=2000){
echo "jaar ook ;)";
}
else
{ 
echo "Jammer";
}
?>

wat is hier fout? dus als test.php(?date=2000(&warid=1))
is?

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
<?
if($date==2000 and $warid==1)

echo "warid klopt";
}
elseif($date==2000){
echo "jaar ook ;)";
}
else

echo "Jammer";
}
?>

  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
uhm wat is het verschil met wat ik neer heb gezet?? :?
dat 1 "=" is het niet

krijg nog steeds een parse error op lijn 2

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
:Z ga jij ff een boek kopen ofzo?

  • Ankh
  • Registratie: Mei 2001
  • Laatst online: 20:27
ok :?
altijd leuk...
zelf geef jij een code en die werkt ook niet

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 06 december 2001 12:07 schreef RaMMSTeiN het volgende:
ok :?
altijd leuk...
zelf geef jij een code en die werkt ook niet
Nee, anders vertel jij ff dat het fout gaat, en verder niets. Moeten wij maar raden wat je wilt en wat er fout gaat. Dat is lekker jah.

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 16-09 17:15

Kees

Serveradmin / BOFH / DoC
if (($date==2000) && ($warid==1))

werkt dat wel?

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


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

drm

f0pc0dert

O-) vrede :)

RaMMSTeiN >> Probeer zelf achter de fout te komen, gewoon door knip en plak werk:

1: comment regel x,
2: nog steeds parse error?

• Zo ja uncomment regel en verder bij 1

• Zo nee onderzoek de regel opfouten: domweg haakjes tellen, kijken of de ; erachter staat, of als hij er niet hoort of hij er niet achter staat, haal variabelen eruit en vervang die door waarden als 1, 0, en "", ga na of de regels erboven soms een haakje of een accolade missen, etc

beetje zelfstandigheid is vereiste bij programmeren en scripten en coden en alle andere bezigheden die daar mee te maken hebben

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

Pagina: 1