[php]Waarde word niet mee genomen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben met een php scriptje bezig waar ik een bepaalde mee wil geven naar de volgende pagina om daar gebruikt te worden.

Echter de waarde wordt niet mee genomen, ik snap niet precies waarom.

code:
1
2
3
4
5
6
7
8
9
10
Echo "<center>";
Echo "<form name=\"form\">";
Echo "<select name=\"site\" size=1 onChange=\"javascript:formHandler()\">";
Echo "<option value=\"\">"._SUPPORTLINK."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&custcate=billing&amp;func=support\">"._SUPPORTLINK1."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=support\">"._SUPPORTLINK2."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=support\">"._SUPPORTLINK3."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=upload\">"._SUPPORTLINK4."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=support\">"._SUPPORTLINK5."";
Echo "</select></form></center>";

De links werken wel, echter bij de eerste optie heb ik erbij gezet om te testen:
&custcate=billing
Op de pagina waar de link uit komt gebruik ik roep ik de waarde weer op.
code:
1
echo "waarde is: $custcate";


Er zou moeten komen staan:
waarde is: billing

Echter dat billing komt er niet te staan, ik zal wel iets verkeerd doen maar ik zie niet wat er niet goed aan is.

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
gebruik $_GET["custcate"] ipv $custcate...

edit Stond mooi stukje over in een sticky of hoe dat dan ook heet, maar da's weg? Zoek eens op PHP.net naar globals

[ Voor 63% gewijzigd door sjroorda op 06-01-2003 13:58 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
sorry hoor maar dat gaat me te ver..

Als ik die code er neer zet dan gebeurd er nog niks.
Hoe krijg ik die nu ge-echo-ed

heb geen idee hoe je het met die $_GET moet doen

Acties:
  • 0 Henk 'm!

Verwijderd

wat dacht je van wat docs lezen hoe je strings aan elkaar kan plakken, of bijvoorbeeld $var = $_GET["var"]

$_GET is een array met alle waarden die geget zijn
$_POST is een array met alle geposte waarden.

hoop dat dit je helpt

Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
weet ook niet waar die sticky heen is. denk dat ze er van uitgaan dat zo onderhand iedereen het wel weet ;)
lees dit anders maar: http://62.250.9.120/artikelen.php?aid=88

Acties:
  • 0 Henk 'm!

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 02:03

JaQ

het lijkt me dat je enkel met %_GET kan werken als je method=get in je form definitie zet. (post is dacht ik default). Als je gaat zoeken op php.net naar $_GET, superglobals of forms kan je onwijs veel info vinden.

code:
1
2
3
4
<form method=get action=target.php>
<input type="text" name="bla">
<input type="Submit" value="Mutsip">
</form>


en daarna in je target.php

code:
1
2
$bla=$_GET['bla'];
print $bla;


zoiets zo je moeten helpen...

Egoist: A person of low taste, more interested in themselves than in me


Acties:
  • 0 Henk 'm!

Verwijderd

register_globals = On

da's geloof ik de setting

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik krijg het niet voor elkaar.....

Ook met die PHPfreakz pagina niet, die is zo langzaam ( 1pagina duurt 1 minuut) en je moet je registeren, ik wacht al 1 uur op de activerings E-mail.

Ik kan die link niet wijzigen want dan werkt de rest niet meer, het is net de bedoeling dat je met dit pulldown menu werkt, is er geen andere manier om deze waarde mee te geven die ik vervolgens gewoon weer kan gebruiken?

Acties:
  • 0 Henk 'm!

Verwijderd

kom op zeg, als je een beetje rond gaat kijken op php.net en vooral google.com moet je er zeker uit komen....

Zo moeilijk is het echt niet...

Acties:
  • 0 Henk 'm!

  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
Heb je de manier van DrFrankenstoner al geprobeerd?

Acties:
  • 0 Henk 'm!

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
Verwijderd schreef op 06 januari 2003 @ 15:06:
Ik krijg het niet voor elkaar.....

Ook met die PHPfreakz pagina niet, die is zo langzaam ( 1pagina duurt 1 minuut) en je moet je registeren, ik wacht al 1 uur op de activerings E-mail.

Ik kan die link niet wijzigen want dan werkt de rest niet meer, het is net de bedoeling dat je met dit pulldown menu werkt, is er geen andere manier om deze waarde mee te geven die ik vervolgens gewoon weer kan gebruiken?
Wat is er nou makkelijker dan
PHP:
1
echo "waarde is: $_GET['custcate']";

in je code te zetten :/

Als dat niet werkt kan het ook nog aan de Javascript liggen die je naar de pagina doorstuurt...

En als ik jou was zou ik eens wat php tutorials doorlezen, want dit kon ik binnen een uur al...

Acties:
  • 0 Henk 'm!

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
maak een pagina test.php
en zet daar in
PHP:
1
2
echo "moet leeg zijn: ".$var."<br>\n";
echo "moet een waarde hebben: ".$_GET['var']."<br>\n";

en spreek 'm zo aan in je browser:
http://www.whateverdnaamvanjesite.is/test.php?var=een_waarde

zo, als je er nu nog niet uikomt weet ik het ook niet meer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Google gebruiken vind ik niet echt geslaagd, een zoek machine is leuk als je informatie zoekt over iets, maar niet voor oplossen van een probleem.
Een zoekmachine is het zelfde als een speld in een hooiberg zoeken. Als je een grote spelt zoekt valt het mee, maar zo'n heel klein speltje als dit probleem vind je niets wat je kunt gebruiken.
Het internet is te groot, zo specifiek net als dit is gewoon weg niet te doen, daarvoor zijn net forums bedoeld. Als iemand een ander soort Nederlands forum kent waar ik ook dit soort vragen ook/wel kan stellen dan hoor ik het graag (niet phpfreakz, heb me geregistreert maar ontvang geen bevestigings mail).

[ Voor 11% gewijzigd door Verwijderd op 06-01-2003 15:20 ]


Acties:
  • 0 Henk 'm!

  • Shagura
  • Registratie: Augustus 2001
  • Laatst online: 14-09 08:25
Verwijderd schreef op 06 January 2003 @ 15:19:
Google gebruiken vind ik niet echt geslaagd, een zoek machine is leuk als je informatie zoekt over iets, maar niet voor oplossen van een probleem.
Een zoekmachine is het zelfde als een speld in een hooiberg zoeken. Als je een grote spelt zoekt valt het mee, maar zo'n heel klein speltje als dit probleem vind je niets wat je kunt gebruiken.
Het internet is te groot, zo specifiek net als dit is gewoon weg niet te doen, daarvoor zijn net forums bedoeld. Als iemand een ander soort Nederlands forum kent waar ik ook dit soort vragen ook/wel kan stellen dan hoor ik het graag (niet phpfreakz, heb me geregistreert maar ontvang geen bevestigings mail).
Lees jij ook of niet :? :/

Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
Shagura schreef op 06 January 2003 @ 15:26:
[...]

Lees jij ook of niet :? :/
Ik ben ook maar eens begonnen met lezen :P, en het is niet zozeer de code die het al dan niet doet, maar de value van de optie:

vgl
code:
1
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&custcate=billing&amp;func=support\">"._SUPPORTLINK1."";

met
code:
1
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=support\">"._SUPPORTLINK2."";


en dan met name de ampersandjes... (&'etjes): waarom geeft jij alles met &... mee en custcate met alleen de &??? Zou het hier niet fout gaan?

Volgende keer eerst met phpinfo() kijken wat er al dan niet wordt meegegeven, dan had je het waarschijnlijk al veel eerder opgelost...

[ Voor 27% gewijzigd door sjroorda op 06-01-2003 15:32 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Shagura:
Ja wel maar ik was dat bericht aan het typen, na submit stonden deze reactie's er ineens bij

-----

Maargoed ik heb zelfs het voorbeeld LETTERLIJK gekopieert en het werkt niet!

De link die ik dus gebruik:
modules.php?name=Supportsys&file=index&func=support?var=billing
Dan kom ik terug op dezelfde pagina zonder dat er iets gebeurd
Deze link:
modules.php?name=$module_name&file=index&func=support&var=billing
Werkt wel maar dan staat er nog steeds niets, er worden dus geen waardes mee genomen.
Ik heb dit gedaan om de waardes te laten zien:
code:
1
2
echo "moet leeg zijn: ".$var."<br>\n";
echo "waarde = ".$_GET['var']."";


Er staat dus NIETS, er zou billing moeten komen staan, dat staat er dus niet!

sjroorda:
Bedankt, dat antwoord had ik iets aan, inderdaad dat amp had ik niet eens gezien, maar helaas ligt het daar ook niet aan, aangepast maar nog steeds niets.

Misschien info die van belang is.
Met de link worde dezelfde file aangesproken alleen een andere functie. Weet niet of dat van invloed kan zijn.

[ Voor 33% gewijzigd door Verwijderd op 06-01-2003 15:40 ]


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
het moet ook geen ?var= maar &var= (wel na blijven denken ;)) zijn.

Wat staat er in je PHP-info? (boven aan file phpinfo(); neerzetten, pagina laden, en dan naar beneden scrollen tot je ergens het kopje 'PHP Variables' tegenkomt. Daarin staat alles wat php 'kent', dus alle vars die meegegeven worden.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
?var werkt ook niet en &var wel, maar dan nog geen info mee genomen naar volgende functie.
Het zijn diverse functie's in de index, met ?var kom ik dus niet in de functie support terecht, met &var weer wel maar dan zonder de extra waarde's

[ Voor 30% gewijzigd door Verwijderd op 06-01-2003 15:43 ]


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
Even samenvattend:

- je hebt op je pagina een select staan
- als je de select wijzigt, wordt formHandler() aangeroepen
- formHandler() leest de waarde uit die de select op dat moment heeft
- formHandler() stuurt de gebruiker naar deze pagina, die dus in de option staat

Right?

Buiten het feit dat dit niet de meest nette manier is, post de code van formHandler() eens?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
sjroorda schreef op 06 January 2003 @ 15:47:
Even samenvattend:

- je hebt op je pagina een select staan
- als je de select wijzigt, wordt formHandler() aangeroepen
- formHandler() leest de waarde uit die de select op dat moment heeft
- formHandler() stuurt de gebruiker naar deze pagina, die dus in de option staat

Right?

Buiten het feit dat dit niet de meest nette manier is, post de code van formHandler() eens?
Ik zal het script verkort hier plaatsen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
function Info() {
?>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function formHandler(form){
var URL = document.form.site.options[document.form.site.selectedIndex].value;
window.location.href = URL;
}
</SCRIPT>
</HEAD>
<body>
<?
--knip--
echo " bla bla bla hoop tekst";
Echo "<center>";
Echo "<form name=\"form\">";
Echo "<select name=\"site\" size=1 onChange=\"javascript:formHandler()\">";
Echo "<option value=\"\">"._SUPPORTLINK."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=support?var=billing\">"._SUPPORTLINK1."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=support\">"._SUPPORTLINK2."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=support\">"._SUPPORTLINK3."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=upload\">"._SUPPORTLINK4."";
Echo "<option value=\"modules.php?name=$module_name&amp;file=index&amp;func=support\">"._SUPPORTLINK5."";
Echo "</select></form></center>"
}

function support() {
--knip--
OpenTable();
echo "moet leeg zijn: ".$var."<br>\n";
echo "waarde = ".$_GET['var']."";
echo "<table cellpadding=\"0\"><form name=\"support\" method=\"post\" action=\"modules.php?op=modload&name=Supportsys&file=supportsys\" onSubmit=\"return SupportForm(this);\">";
echo "<tr><td>"._UUSERNAME."</td><td> <input type=\"text\" name=\"custfname\" size=\"25\" maxlength=\"55\" VALUE=\"$username\"></td></tr>\n";
echo "<tr><td>"._EMAIL."</td><td> <input type=\"text\" name=\"custemail\" maxlength=\"55\" size =\"25\" Value=\"$email\"></td></tr>\n";
}

switch($func) {

    default:
    Info();
    break;

    case "support":
    support();
    break;

    case "upload":
    upload();
    break;
}


Ik heb de functie upload weg gelaten en heb ook wat regels in de functie weg gelaten hier, was vooral tekst.
Het hele script werkt het enigste wat niet werk is dat ik dus een waarde met de link kan meegeven en dat ik die waarde kan gebruiken in een andere function.
Die waarde moet straks ook in een msql database worden weg gezet, dit gebeurd echter NA dat je function support hebt ingevult. Dit kan helaas niet anders.

[ Voor 19% gewijzigd door Verwijderd op 06-01-2003 16:01 ]


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
Laat de var URL eens zien?

Dus:
code:
1
2
3
4
5
6
7
<SCRIPT LANGUAGE="JavaScript">
  function formHandler(form){
    var URL = document.form.site.options[document.form.site.selectedIndex].value;
    alert(URL);
    window.location.href = URL;
  }
</SCRIPT>


En heb je al eens in phpinfo() gekeken?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Na kiezen van de link komt dit in mijn adres balk te staan:(als je dat bedoeld met var URL)

http://localhost/modules.php?name=Supportsys&file=index&func=support&var=billing
of dit ligt eraan wat ik in script gebruikt heb...
http://localhost/modules.php?name=Supportsys&file=index&func=support?var=billing


(ik draai dit nog lokaal voordat het internet op gaat)
Nee ik heb niet met phpinfo() info gekeken, hoe kan ik dit het beste doen dat ik het zie?

[ Voor 19% gewijzigd door Verwijderd op 06-01-2003 16:28 ]


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
iig is die 2e regel fout (?var=billing, moet & zijn).

phpinfo: zet bovenaan het bestand de php-functie phpinfo();, verder geen echo of iets; je krijgt dan een hele lading gegevens op je scherm, perfect voor debugging ;)

Kijk daar even bij het kopje 'PHP Variables'

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb ook &var=billing gedaan, dan werkt ie ook niet

dat phpinfo() ga ik nu doen

edit:
Heb het gedaan maar er komt zoveel info bij weet niet precies waarna ik moet kijken.
Heb wel de volgende dingen gevonden in die info:

PHP_SELF /modules.php
HTTP_GET_VARS["name"] Supportsys
HTTP_GET_VARS["file"] index
HTTP_GET_VARS["func"] support
HTTP_GET_VARS["var"] billing
HTTP_COOKIE_VARS["lang"] dutch

HTTP_SERVER_VARS["REQUEST_METHOD"] GET
HTTP_SERVER_VARS["QUERY_STRING"] name=Supportsys&file=index&func=support&var=billing
HTTP_SERVER_VARS["REQUEST_URI"] /modules.php?name=Supportsys&file=index&func=support&var=billing
HTTP_SERVER_VARS["SCRIPT_NAME"] /modules.php
HTTP_SERVER_VARS["PATH_TRANSLATED"] c:/phpdev/www/modules.php
HTTP_SERVER_VARS["PHP_SELF"] /modules.php
HTTP_SERVER_VARS["argv"] Array
(
[0] => name=Supportsys&file=index&func=support&var=billing
)


Maar er staat zoveel, wat en waarop moet ik nu letten?

[ Voor 85% gewijzigd door Verwijderd op 06-01-2003 16:59 ]


Acties:
  • 0 Henk 'm!

  • sjroorda
  • Registratie: December 2001
  • Laatst online: 13:04
HTTP_GET_VARS["var"] was toch degene die je nodig had? Kan je aanroepen met bijvoorbeeld
echo $HTTP_GET_VARS["var"]

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nee, dan komt er ook niets te staan
Pagina: 1