Avatar billede svelmoe Nybegynder
24. oktober 2007 - 12:19 Der er 29 kommentarer og
1 løsning

simpelt spørgsmål PHP/session

simpelt spørgsmål :)

ideén er god nok tror jeg.. det virker bare ikke :s

kan i se en fejl?

if ($_POST['input0'] == "0"){

$_SESSION['overflade'] = $_POST['overflade'];
}

else {
$_SESSION['overflade'] = $_POST['input0'];
}
Avatar billede dkfire Nybegynder
24. oktober 2007 - 12:30 #1
Har du husket session_start() i toppen af dit dokument ??
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 12:44 #2
jeps :) det er der styr på, jeg kører en masse andre sessions også og de funker fint :)
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 12:45 #3
Parse error: syntax error, unexpected $end in C:\wamp\www\regpro\side3.php on line 184

det er fejlen
Avatar billede michael_stim Ekspert
24. oktober 2007 - 12:46 #4
Hvordan ser dit input0 felt ud? Og hvad er det der ikke virker?
Avatar billede michael_stim Ekspert
24. oktober 2007 - 12:47 #5
$end, hvad er det for variabel? $send måske?
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 12:48 #6
<input type="Text" name="input0">           
<a href="java script:TCP.popup(document.forms['tcp_test'].elements['input0'])"><img width="15" height="13" border="0" alt="Click Here to Pick up the color" src="img/sel.gif"></a>
<br /><br /><input type="submit" name="submit" span value="Fortsæt til side 3/3"></form>

//jeg får fejlen ovenstående
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 12:49 #7
jeg vil tro $end betyder min If og Else ikke er lukket ordenligt på en eller anden facon. ved bare ikke lige hvad fejlen er
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 12:53 #8
kort beskrivelse:

Jeg har 2 felter i en form. hvis man udfylder det ene felt "overflade" skal den sætte det i $_SESSION[overflade]; hvis man udfylder det andet skal det i session.

altså:

hvis input0 = 0 er session = overflade

ellers hvis input0 = et eller andet, skal session = input0
Avatar billede michael_stim Ekspert
24. oktober 2007 - 13:23 #9
Men kopier line 183-185 i side3.php herind
Avatar billede dkfire Nybegynder
24. oktober 2007 - 13:49 #10
$end er bestemt ingen variabel. :-)

$end betyder oftest at du mangler at lukke en løkke. Dvs php nåede til enden af dokumentet men mangler stadig noget kode for at det virker.

Prøv at tælle dine åbne { og dine lukkede } og se om de stemmer over ens.

En anden ting er, prøv at rykke dine if/else løkker tættere sammen:
if ($_POST['input0'] == "0"){
  $_SESSION['overflade'] = $_POST['overflade'];
}else
{
  $_SESSION['overflade'] = $_POST['input0'];
}

Evt kan du vise hele din kode, men tror det er lidt for mange linier til her.
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 13:50 #11
</td>
  </tr>
</table>
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 13:52 #12
okay jeg tæller ;) håber jeg når at tælle dem alle idag :P
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 13:57 #13
antallet af {} passer og jeg har rykket if else sammen men stadig uden resultat desværre.

da min baggrund på siden er sort snublede jeg først nu over en fejl melding på side3.php:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

og nu er den anden fejl væk. jeg sidder og prøver mig lidt frem så har nok stødt på noget.

i skal være velkommen til at se på koden, da jeg meget gerne skulle have det til at virke snart :)
Avatar billede dkfire Nybegynder
24. oktober 2007 - 13:58 #14
Det kan også skyldes at du mangler ; i sidste linje.
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 14:03 #15
jeg kan prøve at hakke de stykker kode ud som skulle være problemet

side2.php:

<td align="center"><input type="checkbox" name="overflade" value="ahorn" id="checkbox">
<span class="style1"> Ahorn</span></td>
    <td align="center"><input type="checkbox" name="overflade" value="bøg" id="checkbox2">
<span class="style1">B&oslash;g</span></td>
    <td align="center"><input type="checkbox" name="overflade" value="Eg" id="checkbox3">
<span class="style1">Eg</span></td>
    <td align="center"><input type="checkbox" name="overflade" value="Kirsebær" id="checkbox4">
<span class="style1"> Kirseb&oelig;r</span></td>
    <td align="center"><input type="checkbox" name="overflade" value="Valnød" id="checkbox5">
<span class="style1"> Valn&oslash;d</span></td>
    <td align="center"><input type="checkbox" name="overflade" value="Mahogni" id="checkbox6">
<span class="style1"> Mahogni</span></td>overflade </tr>
<tr>
    <td height="26" colspan="11" align="left" valign="top">
    <script language=JavaScript src="picker.js"></script>
   
   
   
    <br /><br />
            <span class="style1">Eller vælg farve:</span>       
            <input type="Text" name="input0">           
            <a href="java script:TCP.popup(document.forms['tcp_test'].elements['input0'])"><img width="15" height="13" border="0" alt="Click Here to Pick up the color" src="img/sel.gif"></a>
            <br /><br /><input type="submit" name="submit" span value="Fortsæt til side 3/3"></form>
</td>
  </tr>
</table>

side3.php:

<?php

if(isset($_POST['submit'])) {
$specs = $_POST['specs'];
if ($specs == "0") { $specs = "Intet angivet"; }
if ($specs == "1") { $specs = "Fast"; }
if ($specs == "2") { $specs = "H/S - Gas"; }
if ($specs == "3") { $specs = "H/S - EL"; }
if ($specs == "4") { $specs = "H/S - Man"; }
if ($specs == "5") { $specs = "Intet"; }
if ($specs == "6") { $specs = "Sokkel"; }
if ($specs == "7") { $specs = "Ben"; }
if ($specs == "8") { $specs = "Hjul"; }
if ($specs == "9") { $specs = "M hjul M vippefunk"; }
if ($specs == "10") { $specs = "M hjul U vippefunk"; }
if ($specs == "11") { $specs = "U hjul M vippefunk"; }
if ($specs == "12") { $specs = "U hjul U vippefunk"; }
$_SESSION['specs'] = $specs;
$_SESSION['producent'] = $_POST['producent'];
$_SESSION['benfarve'] = $_POST['benfarve'];
$_SESSION['model'] = $_POST['model'];
$_SESSION['overflade'] = $_POST['overflade'];
$_SESSION['antal'] = $_POST['antal'];

if ($_POST['input0'] == 0){
$_SESSION['overflade'] = $_POST['overflade'];
}else {
$_SESSION['overflade'] = $_POST['input0'];}}

?>

Jeg skulle gerne kunne echo $_SESSION['overflade'];

så jeg kan smide værdien i en database senere.

værdien kan endten gives via de checkboxe eller vha. en .js colorpicker.. derfor min if/else sætning
Avatar billede dkfire Nybegynder
24. oktober 2007 - 14:03 #16
Jamen hvis koden ikke er alt for lang, så kan du jo skrive den her.
Ellers kan du lave en kopi af filen og gemme denne kopi med endelsen .phps, og så lige skrive et link til filen.
Avatar billede dkfire Nybegynder
24. oktober 2007 - 14:05 #17
Har du prøvet med en session_start() øverst på side3 ???
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 14:06 #18
det er 1 x 176 linier + 1 x 386 linier. er det for meget?
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 14:07 #19
og mere hvis javascript filerne og skal med
Avatar billede svelmoe Nybegynder
24. oktober 2007 - 14:09 #20
http://www.landligferie.dk/regpro/regpro.rar her ligger de vitale filer. jeg vender tilbage når jeg er kommet hjem fra arbejde :) mange tak
Avatar billede dkfire Nybegynder
24. oktober 2007 - 14:12 #21
Og så lige lidt optimering, ændre:

$specs = $_POST['specs'];
if ($specs == "0") { $specs = "Intet angivet"; }
if ($specs == "1") { $specs = "Fast"; }
if ($specs == "2") { $specs = "H/S - Gas"; }
if ($specs == "3") { $specs = "H/S - EL"; }
if ($specs == "4") { $specs = "H/S - Man"; }
if ($specs == "5") { $specs = "Intet"; }
if ($specs == "6") { $specs = "Sokkel"; }
if ($specs == "7") { $specs = "Ben"; }
if ($specs == "8") { $specs = "Hjul"; }
if ($specs == "9") { $specs = "M hjul M vippefunk"; }
if ($specs == "10") { $specs = "M hjul U vippefunk"; }
if ($specs == "11") { $specs = "U hjul M vippefunk"; }
if ($specs == "12") { $specs = "U hjul U vippefunk"; }

til:

switch(intval($_POST['specs']){
  case 1:
    $specs = "Intet angivet";
    break;
  case 2:
    $specs = "Fast";
    break;
  case 2:
    $specs = "H/S - Gas";
    break;
  case 3:
    $specs = "H/S - EL";
    break;
  case 4:
    $specs = "H/S - Man";
    break;
  case 5:
    $specs = "Intet";
    break;
  case 6:
    $specs = "Sokkel";
    break;
  case 7:
    $specs = "Ben";
    break;
  case 8:
    $specs = "Hjul";
    break;
  case 9:
    $specs = "M hjul M vippefunk";
    break;
  case 10:
    $specs = "M hjul U vippefunk";
    break;
  case 11:
    $specs = "U hjul M vippefunk";
    break;
  case 12:
    $specs = "U hjul U vippefunk"; 
    break;
}
Avatar billede svelmoe Nybegynder
25. oktober 2007 - 08:10 #22
Så er jeg tilbage på pinden :) håber i kan se jer ud af min kode.

tak for optimeringen :)
Avatar billede dkfire Nybegynder
25. oktober 2007 - 10:16 #23
Jeg har lige en rettelse til din kode.
Søg for altid at starte din php kode med <?php og ikke kun <?
Avatar billede svelmoe Nybegynder
25. oktober 2007 - 10:45 #24
okay :)
Avatar billede dkfire Nybegynder
25. oktober 2007 - 11:59 #25
Hvad siger den af fejl nu ?? og på hvilken side ?
Avatar billede svelmoe Nybegynder
25. oktober 2007 - 12:05 #26
http://www.landligferie.dk/regpro/regpro.rar opdaterede filer.

Parse error: syntax error, unexpected '{' in C:\wamp\www\regpro\side3.php on line 47
Avatar billede dkfire Nybegynder
25. oktober 2007 - 13:05 #27
Du mangler lige en ).
Sorry det var mig som manglede det før.

Ret til:
switch (intval($_POST['specs'])) {
Avatar billede svelmoe Nybegynder
25. oktober 2007 - 15:46 #28
Great :) det eneste jeg mangler at få til at virke er:

if ($overflade == "" ){
$overflade = $farve;
}

OBS. filerne er blevet redigeret siden sidste download post.
Avatar billede svelmoe Nybegynder
25. oktober 2007 - 19:57 #29
jeg har fået det til at virke nu :)

Du er velkommen til at ligge et svar..
Avatar billede dkfire Nybegynder
25. oktober 2007 - 21:04 #30
Super, så ligger jeg et svar :-)
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