Avatar billede MadsDue Nybegynder
14. juni 2011 - 20:06 Der er 30 kommentarer og
1 løsning

Session

Hej

Jeg har brug for hjælp til følgende:

<div class="personnummer">Postnummer</Div><br/>
<div id="err_postnummer" class="err">&nbsp;</div><div id="err_by" class="err">&nbsp;</div>
<input type="text" size="5" class="postnummer" name="postnummer" id="postnummer" onblur="GetAjaxData(this.value, 'by')" />
<a id="by" size="15" class="by" name="by"></a>
<br/>

Hvorfor/hvordan laver jeg en session på by?

Jeg har tastede følgende på næste side, hvor jeg overfør dataen til:

<?php
                                $_SESSION['by']= $_REQUEST['by']

?>

Men jeg kan ikke kalde den frem igen. hvordan gør jeg det
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 21:20 #1
Indholdet af en <a>-tag kommer ikke med over. Du kan evt. putte værdien i et hidden felt.
Avatar billede MadsDue Nybegynder
14. juni 2011 - 21:43 #2
okay. hvordan vil det se ud i det skrift?
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 21:44 #3
<input type="hidden" name="by"> ... og så skal din ajax-dims hente noget over i det felt.
Avatar billede MadsDue Nybegynder
14. juni 2011 - 21:52 #4
<input type="hidden" id="by" size="15" class="by" name="by"></a>

Så kommer byen ikke frem.
Avatar billede MadsDue Nybegynder
14. juni 2011 - 21:54 #5
Mente

<input type="hidden" id="by" class="by" name="by" />
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 21:58 #6
Ja, der skal nok en id på, som du skriver. Men prøv først:

<input type="text" id="by" class="by" name="by">

så du kan se om der kommer noget i feltet. Så kan du lave det hidden når det virker. Men så er der jo lige det om brugeren skal kunne se det også? Egentlig kan du jo beholde hvad du har, og slå bynavnet op een gang til, når man submitter.
Avatar billede MadsDue Nybegynder
14. juni 2011 - 22:03 #7
Der kommer ikke noget i felt ved det der.

Ja. troede bare det her vil være nemmere
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 22:05 #8
Har du id="by" to steder?
Avatar billede MadsDue Nybegynder
14. juni 2011 - 22:12 #9
nej

eller jeg har det her:

<div class="personnummer">Postnummer</Div><br/>
<div id="err_postnummer" class="err">&nbsp;</div><div id="err_by" class="err">&nbsp;</div>
<input type="text" size="5" class="postnummer" name="postnummer" id="postnummer" onblur="GetAjaxData(this.value, 'by')" />
<a id="by" class="by" name="by" ></a>
<br/>
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 22:26 #10
Var det ikke det, vi startede med?
Avatar billede MadsDue Nybegynder
14. juni 2011 - 22:27 #11
hvad gør jeg forkert her:

$postnummer = $_SESSION['postnummer'];


$by = SELECT * FROM postnummer WHERE postnr='$postnummer');

//for at få by navnet frem

Men den siger fejl.. har connect
Avatar billede MadsDue Nybegynder
14. juni 2011 - 22:28 #12
hov, jo.. lavede det lige om. da det ikke virkede.

Men nu prøver jeg på lave den anden mulighed. kan bare ikke få det rigtige frem.
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 22:31 #13
Hvis det er koden i din ajax-dims, så har du ikke noget i $_SESSION. Men vis hellere hele koden.
Avatar billede MadsDue Nybegynder
14. juni 2011 - 22:36 #14
Har følgende på sidst side. hvor jeg viser bruger. hvad han har tastet. inden submit.

<?php include("../../loginsystem/database.php"); ?>
<?php include("../../postnummer/db_conn.php"); ?>
                       
<form action="../../sider/opret_brugere/forside_bruger.php" method="post">
                       
<?php                               

                                $_SESSION['brugernavn']= $_REQUEST["brugernavn"];
                                $_SESSION['adgangskode']= $_REQUEST["kode1"];
                                $_SESSION['adgangskode2']= $_REQUEST["kode2"];
                                $navn = $_SESSION['fornavn'];
                                $efternavn = $_SESSION['efternavn'];
                                $kon = $_SESSION['kon'];
                                $personnummer = $_SESSION['personnummer1'];
                                $adresse = $_SESSION['adresse'];
                                $nr = $_SESSION['nr'];
                                $postnummer = $_SESSION['postnummer'];
                                $by = $_SESSION['by'];
                                $email = $_SESSION['mail'];
                                $telefonnummer = $_SESSION['telefon1'];
                                $brugernavn = $_SESSION['brugernavn'];
                                $adgangskode1 = $_SESSION['adgangskode'];
                               
                               
                                $query = mysql_query("SELECT bynavn FROM postnummer WHERE postnr='$postnummer'");
                                $row = mysql_fetch_assoc($query);
                               
                                echo "Navn: " . $navn . "<br/>";
                                echo "Efternavn: " . $efternavn . "<br/>";
                                echo "Køn: " . $kon . "<br/>";
                                echo "personnummer: " . $personnummer . "<br/>";
                                echo "Adresse: " . $adresse ;
                                echo " " . $nr . "<br/>";
                                echo "Postnummer: " . $postnummer . "<br/>";
                                echo "By: " . $row['bynavn'];
                                echo "Email: " . $email . "<br/>";
                                echo "Telefonnummer: " . $telefonnummer . "<br/>";
                                echo "Brugernavn: " . $brugernavn . "<br/>";
                               
?>

Jeg kan bare ikke få det bynavn med:)
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 22:40 #15
Kommer der noget ud på siden fra linien:

<input type="hidden" id="by" class="by" name="by" />
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 22:40 #16
Det var forkert. Mente: Kommer der noget ud på siden fra linien:

        echo "Postnummer: " . $postnummer . "<br/>";
Avatar billede MadsDue Nybegynder
14. juni 2011 - 22:51 #17
jep. den er rigtig

alt andet er som det skal være. ud over bynavnet
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 22:56 #18
Så der står:

Postnummer: 8000
By:

Og ingen bynavn efter "By:" ?
Avatar billede MadsDue Nybegynder
14. juni 2011 - 23:00 #19
lige præcis.

hvordan for jeg det frem
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 23:00 #20
Det kan så være fordi der ikke er noget i din tabel ... ?
Avatar billede MadsDue Nybegynder
14. juni 2011 - 23:10 #21
Den er helt fyldt. den bruger jeg også i dette script:

<div class="left1">
<?php include("../../loginsystem/database.php"); ?>

<form action="../../sider/opret_brugere/opret_bruger3.php" method="post" name="frm" id="frm" onsubmit="return validate()">
<?php
                                $_SESSION['fornavn']= $_REQUEST['fornavn']
?>
                                <?php
                                $_SESSION['efternavn']= $_REQUEST['efternavn']
?>
                                <?php
                                $_SESSION['kon']= $_REQUEST['kon']
?>
                                <?php
                                $_SESSION['personnummer1']= $_REQUEST['personnummer1']
?>
                                <?php
                                $_SESSION['mail']= $_REQUEST['mail']
?>
<script type="text/javascript">
                                function GetXmlHttpObject()    {
                                    if (window.XMLHttpRequest)  {
                                    // code for IE7+, Firefox, Chrome, Opera, Safari
                                    return new XMLHttpRequest();
                                    }
                                    if (window.ActiveXObject)  {
                                    // code for IE6, IE5
                                        return new ActiveXObject("Microsoft.XMLHTTP");
                                    }
                                    return null;
}

                                function GetAjaxData(Val, OutputId){
                                    var url = "../../postnummer/request.php";       
                                    var params = "id=" + Val;

                                    http = GetXmlHttpObject();
                                    http.open("GET", url+"?"+params, true); 
                                    http.onreadystatechange = function () {
                                        if(http.readyState == 4 && http.status == 200 ){            
                                            document.getElementById(OutputId).innerHTML = http.responseText;    
                                        }
                                    }
                                    http.send(null);               
}       
</script>
           
<div class="vejnavn">Vejnavn</div><br/>
<div id="err_vejnavn" class="err">&nbsp;</div><div id="err_nr"class="err">&nbsp;</div>
<input type="text" size="20" class="vejnavn" name="vejnavn" value="Vejnavn:" onfocus="if (this.value=='Vejnavn:') this.value = ''" onblur="if (this.value=='') this.value = 'Vejnavn:'"/>
                           
<input type="text" size="10" class="nr" name="nr" value="Nr." onfocus="if (this.value=='Nr.') this.value = ''" onblur="if (this.value=='') this.value = 'Nr.'"/><br/>             
                           

<div class="personnummer">Postnummer</Div><br/>
<div id="err_postnummer" class="err">&nbsp;</div><div id="err_by" class="err">&nbsp;</div>
<input type="text" size="5" class="postnummer" name="postnummer" id="postnummer" onblur="GetAjaxData(this.value, 'by')" />
<a id="by" class="by" name="by" ></a>
<br/>

<div class="telefon">Telefon nr.</Div><br/>
<div id="err_telefon1" class="err">&nbsp;</div>
<input type="text" size="20" class="telefon1" name="telefon1" id="telefon1" value="" onfocus="if (this.value=='') this.value = ''" onblur="if (this.value=='') this.value = ''"/> <br/>                         
                                           
                                           
                                <div class="tilbage3">
                                    <a href="../../sider/opret_brugere/opret_bruger1.php" title=""><img width="" height="" src="../../billeder/opret_bruger/tilbage.png" alt="" /></a>
                                </div>                           
<input type="Submit" class="videre2" value=" Videre " />
</form>
</div>

Det virker fint her. når bruger indtaster postnummer i flet. så finder den selv byen
Avatar billede erikjacobsen Ekspert
14. juni 2011 - 23:24 #22
Det giver ingen mening. Hvordan finder du så bynavnet i request.php i mappen postnummer?
Avatar billede olsensweb.dk Ekspert
14. juni 2011 - 23:37 #23
en skør tanke :), uden at have nærlæst hele tråden og din code
hvilke tegnsæt kører din side med ??
hvilke tegnsæt kører din db med ??
hvilke tegnsæt er din fil gemt med ??
hvilke tegnsæt kommunikerer de med din db med ??

det smarteste er at kører UTF-8 hele vejen rundt.

nu så jeg postnummer 8000 = Århus C
du kan prøve andre postnummer, hvor bynavnet ikke indeholder æøå, hvis de kommer over så er problemet dit tegnsæt
Avatar billede olsensweb.dk Ekspert
15. juni 2011 - 00:25 #24
nu når jeg nævner filformat, tænker jeg UTF-8 uden BOM, hvis du har gemt din fil i utf-8 med bom kan din session slet ikke starte :)
http://dk2.php.net/session_start se note

ref #14
$query = mysql_query("SELECT bynavn FROM postnummer WHERE postnr='$postnummer'");

har du omdøbt felt navnet postnummer ??
i request.php står dette:
$sql = "select Bynavn from postnr where Postnr = $id and LandeId = 1";


@Erik, det ajax-dims, lavede jeg til ham i http://www.eksperten.dk/spm/940944 #2, hvor spørger bruger det i en anden fil.
jeg skammer mig lidt over jeg ikke havde sat mysql_set_charset('utf8',$conn); til slut i min db_conn.php, og jeg har sat echo utf8_encode($name); i min request.php, men jeg har ligge rettet det op.
det var det første AJAX jeg lavede tilbage i 2009, og er blevet en del klogere på emnet siden, det er bare ikke alle eks man får opdateret.
Avatar billede MadsDue Nybegynder
15. juni 2011 - 18:15 #25
jeg kan se min DB køre med utf8_general_ci

Men jeg må indrømme at jeg ikke ved hvordan jeg finde ud af det med siden og gemt fil med.

Jeg har lavet den om til "postnummer"

Jeg har prøve postnr 7130 - juelsminde.

Men den kom heller ikke frem :(
Avatar billede MadsDue Nybegynder
15. juni 2011 - 18:30 #26
Den giver mig følgende fejl. når jeg prøver at gør dette:


115:  $query = mysql_query("SELECT bynavn FROM postnummer WHERE
116:  postnr='$postnummer'");



Fejlen:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Sider\Opret_brugere\opret_bruger4.php on line 116
Avatar billede erikjacobsen Ekspert
15. juni 2011 - 18:38 #27
Ah, ja, det er meget bedre. Du skal prøve

  $query = mysql_query("SELECT bynavn FROM postnummer WHERE postnr='$postnummer'") or die(mysql_error());

Det vil give dig en nogenlunde præcis besked om hvad der er i vejen.
Avatar billede MadsDue Nybegynder
15. juni 2011 - 18:42 #28
Jeg har lavet følgende, som jeg ikke kan få til at virke.

<div class="left2">
                   
<?php include("../../loginsystem/database.php"); ?>
<?php include("../../postnummer/db_conn.php"); ?>
                       
<form action="../../sider/opret_brugere/forside_bruger.php" method="post">
                       
<?php                               

                                $_SESSION['brugernavn']= $_REQUEST["brugernavn"];
                                $_SESSION['adgangskode']= $_REQUEST["kode1"];
                                $_SESSION['adgangskode2']= $_REQUEST["kode2"];
                                $navn = $_SESSION['fornavn'];
                                $efternavn = $_SESSION['efternavn'];
                                $kon = $_SESSION['kon'];
                                $personnummer = $_SESSION['personnummer1'];
                                $adresse = $_SESSION['adresse'];
                                $nr = $_SESSION['nr'];
                                $postnummer = $_SESSION['postnummer'];
                                $by = $_SESSION['by'];
                                $email = $_SESSION['mail'];
                                $telefonnummer = $_SESSION['telefon1'];
                                $brugernavn = $_SESSION['brugernavn'];
                                $adgangskode1 = $_SESSION['adgangskode'];
                               
                               
                                $query = mysql_query("SELECT Bynavn FROM postnr WHERE Postnr='$postnummer'");
                                $row = mysql_fetch_assoc($query);
                               
                                echo "Navn: " . $navn . "<br/>";
                                echo "Efternavn: " . $efternavn . "<br/>";
                                echo "Køn: " . $kon . "<br/>";
                                echo "personnummer: " . $personnummer . "<br/>";
                                echo "Adresse: " . $adresse ;
                                echo " " . $nr . "<br/>";
                                echo "Postnummer: " . $postnummer . "<br/>";
                                echo "By: " . $row['bynavn'] . "<br/>";
                                echo "Email: " . $email . "<br/>";
                                echo "Telefonnummer: " . $telefonnummer . "<br/>";
                                echo "Brugernavn: " . $brugernavn . "<br/>";
                               
?>
                           
<div class="oplysninger">
                                    <a href="../../sider/opret_brugere/opret_bruger1.php" title=""><img width="" height="" src="../../billeder/opret_bruger/ændre_oplysningerne.png" alt="" /></a>
</div>
                           
<input type="Submit" class="opret" value=" Opret " />
                           
</form>
</div>
Avatar billede MadsDue Nybegynder
25. juni 2011 - 23:09 #29
tak for jeres svar.

Men jeg har valgt at lade det være som det er.

Men hvis i vil have point så  angiv svar
Avatar billede olsensweb.dk Ekspert
26. juni 2011 - 00:22 #30
jeg springer over, det er Erik der har trukket læsset.


læg selv et svar Erik samler ikke på point jf. hans "www" addresse
jeg.samler.slet.ikke.paa.point.tak.erikjacobsen.com/
Avatar billede MadsDue Nybegynder
28. juni 2011 - 16:08 #31
nå okay.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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