Avatar billede wickedd Juniormester
10. august 2007 - 17:08 Der er 9 kommentarer

Hjælp til variable eller hva det nu hedder

Jeg har lige fundet et gammelt script frem som jeg gerne vil gøre kompatibel med servere der ikke har register_globals slået til.

Nu har jeg derfor problemer da jeg ikke aner hvordan jeg tilføjer 2 bogstaver "cb" samt et punktum til denne variabel eller hva det nu er.

$actionid = $_POST['actionid'];

Lige nu er $actionid 1 men den skulle helst skrive cb.1
Nogen der lige kan hjælpe? Tak på forhånd.
Avatar billede simplus Nybegynder
10. august 2007 - 17:15 #1
Har måske misforstået selve problemet, men er det ikke bare

<?php
$actionid = "cb.".$_POST['actionid'];
?>
Avatar billede wickedd Juniormester
10. august 2007 - 17:38 #2
Hejsa, jo det var skam rigtigt nok, men det er vist mig der er ret så forvirret. Jeg har en form som automatisk sætter et nummer ud for hver cb checkbox alt efter id fra en tabel. Men det jeg ikke kan få den til er at snuppe det navn med en $_POST.
Så mit spørgsmål var rent faktisk hvordan man får den til at snuppe cb1 til f.eks. cb5000.

$cb = $_POST['actionid'];

Der kigger den jo kun efter cb og ikke tallene efter.
Håber det er forståeligt, da jeg er mere forvirreret end jeg var før ;)
Avatar billede wickedd Juniormester
10. august 2007 - 17:39 #3
$cb = "cb".$_POST['actionid']; skulle det nu være...
Avatar billede simplus Nybegynder
10. august 2007 - 17:39 #4
Hmm, jeg er også forvirret. Kan du venligst prøve at omformulere det sidste du sagde? :-)
Avatar billede wickedd Juniormester
10. august 2007 - 17:45 #5
Ok jeg skal prøve.

Jeg har en liste med en masse checkboxes som hedder cb1, cb2, cb3, cb4 osv.
Det jeg så mangler er en $_POST til at tjekke om en checkbox er checket eller ej.
Men med denne her > $cb = "cb".$_POST['actionid']; < tjekker den jo kun $cb.

Så kan man lave $cb om til f.eks. $cb + $actionid sådan at der står $cb1 = "cb".$_POST['actionid'];

$actionid er bare et tal som jeg snupper sådeles: $actionid = $_POST['actionid'];
Avatar billede wickedd Juniormester
10. august 2007 - 17:54 #6
F.eks. således som ikke virker :)

$cb = "cb".$_POST['actionid'];
$cb.$actionid = "$cb"; hvilket skulle give cb+tallet (cb1, cb2 osv.)
Avatar billede simplus Nybegynder
10. august 2007 - 18:07 #7
Nu tror jeg at jeg forstår.. du har en hel masse checkboxes som hedder cb1, cb2, cb3 osv. - hvad de indeholder har jeg stadig ikke helt forstået. Derefter vil du gerne have at indholdet af den checkbox man afkrydser gemmes i $_POST['actionid']; ?

Hvis det er korrekt, så er det meget nemmere end du tror. Så skal du bare tildele et navn til alle dine checkboxe (navnet skal være det samme til alle) og derefter skal du lave en submit knap hvor du derefter udskriver $_POST['navnet_på_dine_boxe'];

Men kan du evt. give et link så jeg kan se hvad det drejer sig om. Det er lidt forvirrene :-)
Avatar billede morhan Novice
10. august 2007 - 18:51 #8
det nemmeste er at kalde alle checkboxe cb[]
så kan du tilgå dem i et php-array:

<?php
$cbarray = $_POST['cb'];

foreach($cbarray as $cb){
    echo $cb."<br>";
}
?>
<form method="post">
<input type="checkbox" name="cb[]" value="cb1">
<input type="checkbox" name="cb[]" value="cb2">
<input type="checkbox" name="cb[]" value="cb3">
</form>
Avatar billede wickedd Juniormester
11. august 2007 - 14:58 #9
Det som jeg mangler er at få $actionid ind i $cb..
Således at $cb = $_POST['actionid']; bliver til $cb1 = $_POST['actionid']; osv. fordi de forskellige checboxes automatisk får et nummer tildelt alt efter hvilken id de ligger under inde i tabellen :)

Men jeg prøver lige morhans forslag, se om jeg kan hitte ud af det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester