Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

PHP kode som ikke fungerer, hvad gør jeg galt?

Side 1 ud af 2 (14 indlæg)
Tilmeldt 27. Sep 07
Indlæg ialt: 208
Skrevet kl. 16:01
Hvor mange stjerner giver du? :

Hej alle

jeg sidder og kæmper med denne kode, og jeg kan simpelthen ikke få den til at fungerer.

Er der en som vil hjælpe mig :-)

Prøv at se denne side:

http://tilsalgi.dk/tilsalgitest2/forside.php

---------------------forside.php------------

<?php

include 'includes/postnummere.php';

?>

<p></p><p></p>
<center>
<table width="300" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="center">
    <b>Indtast dit postnummer</b><br>
    <form name="form" method="post">
      <br>
       
        <input name="postnr" type="text"  size="10" maxlength="4">
      <br>
     
        <input type="submit"  value="OK">
     
    </form></td>
  </tr>
</table>
</center>


<?php

//sammenligning af postkoder og redirection
if(in_array($_POST['postnr'], $egedal_kom)) {

$kommune_nu = 'Egedal kommune';
echo 'velkommen til egedal kommune';

}





/* postnummer ikke fundet */

else

{
echo 'kommune ikke fundet';
}


?>

--------------------postnummere.php

<?php

$url_egedal = 'index.php?option=com_kunena&catid=2&view=category';
$url_kobenhavn = 'brugtmarked-kobenhavn';
$url_ballerup = 'brugtmarked-ballerup';
$url_ejfundet = 'ejfundet.php';

/* postnummere til kommuner */
$ballerup_kom = array(2730, 2740, 2750,2760, 3500);

$egedal_kom = array(2750, 2765, 3500, 3520, 3540, 3550, 3650, 3660, 3670);

$kobenhavn_kom = array(1000, 1050, 1051, 1052, 1053, 1057, 1064, 1071, 1104, 1107, 1112, 1114, 1115, 1123, 1124, 1129, 1150, 1151, 1154, 1157, 1159, 1161,    1165, 1166, 1171, 1174, 1202, 1203, 1206, 1208, 1254, 1253, 1250, 1254, 1256, 1264, 1265, 1268, 1300, 1302, 1304, 1307, 1308, 1313, 1317, 1318, 1319, 1350, 1354, 1355, 1357, 1358, 1359, 1360, 1362, 1363, 1364, 1370, 1399, 1400, 1473, 1500, 1648, 1650, 1799);

?>

Få overspillet din video til dvd hos www.medieland.dk

Fra Odense
Tilmeldt 4. Jun 06
Indlæg ialt: 953
Fra  Veronté Skrevet kl. 16:06
Hvor mange stjerner giver du? :

Hvad er det der ikke fungerer?

Jeg har lige prøvet at skrive postnr. 2765, og den skriver fint "Velkommen til Egedal kommune"?

Mvh., Elias Sørensen

Ved siden af mit arbejde som udvikler, sælger jeg også sokker på nettet :o)

Tilmeldt 27. Sep 07
Indlæg ialt: 208
Skrevet kl. 16:14
Hvor mange stjerner giver du? :

Elias Sørensen:

Hvad er det der ikke fungerer?

Jeg har lige prøvet at skrive postnr. 2765, og den skriver fint "Velkommen til Egedal kommune"?

Den skriver det som står i "Else", hvilket den kun skal gøre hvis, den IKKE kan finde postnummeret i IF

Få overspillet din video til dvd hos www.medieland.dk

Fra København
Tilmeldt 11. Mar 11
Indlæg ialt: 92
Skrevet kl. 16:23
Hvor mange stjerner giver du? :

Altså jeg er også lidt i tvivl om hvad du mener:-) Men hvis jeg forstår dig rigtigt, at du ønsker at skrive  velkommen til kbh, fx. hvis de skriver 1000 som postnr. Så manger du at tjekke det array. Det eneste array du tjeekker er det $egedal_kom, og derfor vil den altid havne i else, hvis det ikke er et postnummer fra dette array.

Ved ikke om jeg har forstået fejlen rigtig?

Men hvis jeg forstår rigtigt, så mangler du else if for dine andre array.

fx.

else if(in_array($_POST['postnr'], $kobenhavn_kom)) {

$kommune_nu = 'københavn kommune';
echo 'velkommen til københavn kommune'; 

}

osv... Kan dog godt bygges bedre op koden, istedet for utallige else ifs, hvis vi nu antager at du vil have for alle kommuner i dk:-)

Mvh, Andreas Baran

Find billige madopskrifter på Su-mad.dk

Tilmeldt 27. Sep 07
Indlæg ialt: 208
Skrevet kl. 17:04
Hvor mange stjerner giver du? :

Andreas Baran:

Altså jeg er også lidt i tvivl om hvad du mener:-) Men hvis jeg forstår dig rigtigt, at du ønsker at skrive  velkommen til kbh, fx. hvis de skriver 1000 som postnr. Så manger du at tjekke det array. Det eneste array du tjeekker er det $egedal_kom, og derfor vil den altid havne i else, hvis det ikke er et postnummer fra dette array.

Ved ikke om jeg har forstået fejlen rigtig?

Men hvis jeg forstår rigtigt, så mangler du else if for dine andre array.

fx.

else if(in_array($_POST['postnr'], $kobenhavn_kom)) {

$kommune_nu = 'københavn kommune';
echo 'velkommen til københavn kommune'; 

}

osv... Kan dog godt bygges bedre op koden, istedet for utallige else ifs, hvis vi nu antager at du vil have for alle kommuner i dk:-)

Det er nok mig, som gør det lidt svært.   Men jeg er opmærksom på jeg mangler til de andre kommuner:-)    Lige nu vil jeg bare koncenterer mig om egedal :-)

Men problemet er, at når jeg går ind på forside.php, så skriver den allerede det som står under ELSE   (kommune ikke fundet)

Få overspillet din video til dvd hos www.medieland.dk

Fra Aarhus
Tilmeldt 7. May 13
Indlæg ialt: 967
Skrevet kl. 17:12
Hvor mange stjerner giver du? :
Gennemsnit 5,0 stjerner givet af 1 person

Problemet er at du ikke har taget højde for der muligvis ikke er postet noget data, hvorfor du konsekvent vil have output.

Du er blevet advaret om den kodestil du har valgt i en tidligere tråd, og det er allerede begyndt at blive noget gris.

Jeg vil anbefale dig at investere den time eller to, det ville koste at lave det der, ved en freelancer.

PHP Freelancer med speciale i Laravel og API integrationer

Tilmeldt 27. Sep 07
Indlæg ialt: 208
Skrevet kl. 18:10
Hvor mange stjerner giver du? :

Dan Storm:

Problemet er at du ikke har taget højde for der muligvis ikke er postet noget data, hvorfor du konsekvent vil have output.

Du er blevet advaret om den kodestil du har valgt i en tidligere tråd, og det er allerede begyndt at blive noget gris.

Jeg vil anbefale dig at investere den time eller to, det ville koste at lave det der, ved en freelancer.

Det med en kodestil, har jeg altså ikke set..... men tak for info

Jeg ville jo gerne lære det selv :-)   Derfor har jeg ikke søgt freelancer endnu

Få overspillet din video til dvd hos www.medieland.dk

Tilmeldt 30. Oct 06
Indlæg ialt: 588
Fra  dk Skrevet kl. 18:25
Hvor mange stjerner giver du? :
Gennemsnit 5,0 stjerner givet af 1 person

Du tjekker aldrig om variablen 'postnr' er sat. Derfor vil også ende i 'else' selvom 'postnr' aldrig er blevet sendt (formularen ikke er blevet sendt).

Du kan gøre sådan:



if (isset($_POST['postnr'])) {
    if (in_array($_POST['postnr'], $egedal_kom)) {
        $kommune_nu = 'Egedal kommune';
        echo 'velkommen til egedal kommune';
    }

    /* postnummer ikke fundet */ else {
        echo 'kommune ikke fundet';
    }
} else {
    echo 'Skriv postnr. for at søge efter kommune';
}

Fra Frederiksberg
Tilmeldt 31. Aug 11
Indlæg ialt: 587
Fra  Eos Web I/S Skrevet kl. 18:25
Hvor mange stjerner giver du? :

Hvis jeg forstår dit problem korrekt, så giver Dan Storm giver dig svaret her:

Dan Storm:

Problemet er at du ikke har taget højde for der muligvis ikke er postet noget data, hvorfor du konsekvent vil have output.

Du laver tjekket hver gang siden loades. Også selvom brugeren ikke har trykket på knappen endnu.

Tilmeldt 27. Sep 07
Indlæg ialt: 208
Skrevet kl. 23:02
Hvor mange stjerner giver du? :

Tak til mads for løsningen. Den vil jeg prøve.


Og selv. Også tak til jer andre.med hjælpen

Hvis nogle ved hvad Dan memer med farlig kode, så sig endelig til

Få overspillet din video til dvd hos www.medieland.dk

Side 1 ud af 2 (14 indlæg)