[PHP] Post,Parse, doorgeef probleem

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Selachii
  • Registratie: April 2000
  • Laatst online: 05-07-2020
De oplossing zal vast heel simpel zijn, maar ik zit helemaal vast en kan door de bomen het bos niet meer zien.

Ik heb een soort functiepaneel waarop allemaal knoppen met functies worden aangeboden. In principe gebruiken al deze knoppen gewoon
'$PHP_SELF?bewerking=blaat'
Voor 2 knoppen (edit en close) moet een bestaande 'action' (is een entry) geselecteerd worden via een ddlb. Deze heb ik nu via een '<SELECT...' gemaakt. (logiesch lijkt me).

Wat is mijn probleem: Als ik op edit of close druk, wordt de info van de ddlb niet doorgegeven.
Wat heb ik geprobeerd: Als ik van de close en edit knoppen '<INPUT hidden...' met img properties maak, wordt de data van de ddlb wel doorgegeven, MAAR, dan worden allebei de close en edit waardes doorgegeven, en dus ook allebei uitgevoerd (eerst wordt uitgevoerd want die staat als eerste in de if loop die het opvangt)

Moet ik de ddlb nou anders opgeven, of moet ik iets aan m'n POST doen.
Ik wil overigens, geen extra checkboxes of radiobuttons oid.

kheb er even wat enters tussen gegooid, maar dit is dus 1 table row

ik heb de edit geschreven zoals ik de 'POST' methode had gemaakt
en de delete zoals ik de 'parse' (noem je dat zo?) methode had gemaakt.
code:
1
2
3
4
5
6
//ddlb
<TD ALIGN=\"CENTER\"><SELECT NAME=\"SelectedActionId\">$ActionList</SELECT></TD>
//edit
<TD><INPUT TYPE=\"HIDDEN\" NAME=\"EditAction\" VALUE=\"$Id\"><INPUT TYPE=\"image\" SRC=\"edit.gif\" </TD>
//close
<TD><A HREF SRC=\"$PHP_SELF?CloseAction=$Id\">[img]\"close.gif\"></A><TD[/img]



Volgens mij is dit heel simpel maar ik verkeer een beetje in een blackout :)

Owja, het wordt dus gewoon opgevangen met een loopje
code:
1
2
if($EditAction) BlaatFunctie($EditAction,$SelectedActionId);
elseif($CloseAction)NogEen($SelectedActionId);


ps
Search uitgebreid geprobeerd

...gamen blijft leuk...


Acties:
  • 0 Henk 'm!

Verwijderd

ik vind je verhaal nogal warrig maar:
PHP:
1
2
3
<A HREF SRC=\"$PHP_SELF?CloseAction=$Id\">[img]\"close.gif\"></A>
//vervangendoor
<A[/img][img]\"close.gif\"></A[/img]


zou kunnen schelen?

Acties:
  • 0 Henk 'm!

  • Selachii
  • Registratie: April 2000
  • Laatst online: 05-07-2020
oeps, sorry, zo stond het ook in de code, heb het bij het herschrijven beetje slordig gedaan.

...gamen blijft leuk...


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 19:46

crisp

Devver

Pixelated

je moet gewoon een keuze maken - of je submit een formulier (waarbij input values doorgegeven worden), of je triggert een link met GET variabelen. In het 2e geval (wat je nu dus ook doet) zou je extra variabelen eventueel nog met javascript aan het URL kunnen toevoegen.

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

je moet de vars die je via de url meegeeft met $_GET["varnaam"] opvangen... (indien je global_vars uit heb staan, standaard in php 4.x geloof ik)
scheelt misschien?

Acties:
  • 0 Henk 'm!

  • Selachii
  • Registratie: April 2000
  • Laatst online: 05-07-2020
als ik het goed begrijp:
met GET kan ik dus niet de waardes uit de ddlb doorgeven, dat zou dan met een java script moeten?


Liefst gebruik ik '<input ', maar dan is het dus niet mogelijk om keuze aan te geven tussen close en edit zonder extra boolean(checkbox ofzo)

global vars staan aan

...gamen blijft leuk...


Acties:
  • 0 Henk 'm!

Verwijderd

jawel ik denk dat je het verkeerd begrijpt
PHP:
1
2
3
4
5
6
7
8
<?
    $Id=1;
    echo "<A HREF=\"".  $_SERVER['PHP_SELF']  ."?CloseAction=". $Id ."\">linkje</A>";
    
    if( $_GET["CloseAction"] != "" ){
        echo "<BR>CloseAction = ". $_GET["CloseAction"];
    }
?>

kijk maar eens wat dit doet

Acties:
  • 0 Henk 'm!

  • Selachii
  • Registratie: April 2000
  • Laatst online: 05-07-2020
mwa, zo krijg ik de waarde van CloseAction...maar niet die van de
SelectedActionId ddlb

...gamen blijft leuk...


Acties:
  • 0 Henk 'm!

Verwijderd

zet dan in je url ook nog even onClick="document.<FORMNAME>.submit()"
dan submit je met een klik in op de hyperlink meteen ook het formulier waar je input in staat.

b creative! ;)

Acties:
  • 0 Henk 'm!

  • Selachii
  • Registratie: April 2000
  • Laatst online: 05-07-2020
de creativiteit is wat afgebakend helaas
maargoed, eerst maar ff aan de praat krijgen :)

kheb nu dit toegevoegd
code:
1
<A HREF=\"$PHP_SELF?EditAction=$Id\" onClick=\"document.blaat.submit();\">


en het FORM heeft dan NAME=\"blaat\"

maar ik krijg de waarde van het ddlb nogsteeds niet mee :/

...gamen blijft leuk...


Acties:
  • 0 Henk 'm!

Verwijderd

dat is dan weer een $_POST[""] variabele.

Acties:
  • 0 Henk 'm!

  • Selachii
  • Registratie: April 2000
  • Laatst online: 05-07-2020
jah, dat begrijp ik, het principe begrijp ik, maar zodra ik dat doe krijg ik dus een lege POST.

maargoed, ik ga even naar een workaround zoeken want ik wordt er gewoon gek van. Tis ook niet bepaald het meeste complexe stukje code, dus dat is dubbel frustrerend. Bedankt for de hulp iig Ice

...gamen blijft leuk...


Acties:
  • 0 Henk 'm!

Verwijderd

noohhh ik heb je ook wel een beetje op een dwaalspoor gezet.... :D

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<html>
<body>
<form name="testForm" action="test.php" method="POST">
<input type="hidden" name="hiddenvar" value="ik ben hidden!">
<? 
    $Id=1; 
    echo "<A HREF=\"".  $_SERVER['PHP_SELF']  ."?CloseAction=". $Id ."\" onclick=\"document.testForm.submit();\">linkje</A>"; 

    echo "<BR>CloseAction = ". $_GET["CloseAction"]; 
    echo "<BR>hiddenvar = ". $_POST["hiddenvar"]; 
?> 
</form>
</body>
</html>

run deze code eens.
Vervang de href daarna eens voor href="#".

Dat werkt dus ook niet :P

Wat je wel kan doen is door de hyperlinks het formulier posten.
in de onclick kan je ook iets doen als: document.hiddenvar.value='xxx';
op deze manier kun je de waarde van het linkje in een hidden veld in het formulier stoppen en dan het formulier posten :)

[ Voor 20% gewijzigd door Verwijderd op 03-12-2003 13:45 ]

Pagina: 1