Avatar billede michaeltryl Seniormester
26. september 2006 - 15:21 Der er 16 kommentarer og
2 løsninger

hvorfor får jeg denne fejl

jeg får denne fejl Parse error: parse error, unexpected '{' in **** on line 343

det er linien lige efter IF
fraaar og tilaar må kun indeholde 4 tal
hvor er fejlen jeg har siddet i en time og prøvet diverse løsninger uden held
<?
    $fraaar = $_REQUEST["fraaar"];
    $tilaar = $_REQUEST["tilaar"];   
    $titel = $_REQUEST["titel"];
    $fradato = $_REQUEST["fradato"];
    $framaaned = $_REQUEST["framaaned"];
    $tildato = $_REQUEST["tildato"];
    $tilmaaned = $_REQUEST["tilmaaned"];
    $fratime = $_REQUEST["fratime"];
    $framinut = $_REQUEST["framinut"];
    $tiltime = $_REQUEST["tiltime"];
    $tilminut = $_REQUEST["tilminut"];
    $pris = $_REQUEST["pris"];
    $postcity = $_REQUEST["postcity"];
    $obs = $_REQUEST["obs"];

if (preg_match("/^[0-9]{4}$/", $fraaar) && (preg_match("/^[0-9]{4}$/", $tilaar) && !empty($titel) && !empty($fradato) && !empty($framaaned) && !empty($fraaar) && !empty($tildato) && !empty($tilmaaned) && !empty($tilaar) && !empty($postcity) && !empty($pris))
{
//indsæt data i databasen
    mysql_query("INSERT INTO event (eventID, titel, bruger, fra, til, pris, postby, oplysninger)
    values(0,'$titel', '$til', '$fraaar-$framaaned-$fradato $fratime:$framinut:00', '$tilaar-$tilmaaned-$tildato $tiltime:$tilminut:00', '$pris', '$postcity', '$obs')") or die(mysql_error());
echo "<h2>Event er nu tilføjet. Se kommende events <a href='$side/event/kom-events.php'>her</a></h2>";
}
else
{
Echo"et eller flere felter er ikke udfyldt";
}

?>
Avatar billede sw_red_6 Nybegynder
26. september 2006 - 15:25 #1
ville det ikke være bedre at bruge strlen til at teste længden af $fraaar og $tilaar?
Avatar billede hmm10 Nybegynder
26. september 2006 - 15:27 #2
Du mangler en ) før din { i IF ?
Avatar billede michael_stim Ekspert
26. september 2006 - 15:28 #3
eller en ( i starten
if((
Avatar billede sw_red_6 Nybegynder
26. september 2006 - 15:29 #4
hmm10 har næsten ret der mangler en ) efter din 2. preg_match
Avatar billede michaeltryl Seniormester
26. september 2006 - 15:36 #5
nu ser den sådan ud
if (preg_match("/^[0-9]{4}$/", $fraaar) && (preg_match("/^[0-9]{4}$/", $tilaar)) && !empty($titel) && !empty($fradato) && !empty($framaaned) && !empty($fraaar) && !empty($tildato) && !empty($tilmaaned) && !empty($tilaar) && !empty($postcity) && !empty($pris))

men så får jeg fejlen

Parse error: parse error, unexpected $ in ........ on line 367
og linie 367 ligger uden for php koden og er den allersidste linie i dokumentet
Avatar billede sw_red_6 Nybegynder
26. september 2006 - 15:45 #6
det er fordi du mangler en } et sted i din kode
Avatar billede sw_red_6 Nybegynder
26. september 2006 - 15:50 #7
Det ser ud til at du mangler en } mellem linie 343 og 367, men uden mere kode er det lidt svært at hjælpe med det.
Forresten den () du har rundt om den 2. preg_match, den er vidst egentlig unødvendig...
Avatar billede michaeltryl Seniormester
26. september 2006 - 15:54 #8
den ser sådan ud
    $fraaar = $_REQUEST["fraaar"];
    $tilaar = $_REQUEST["tilaar"];   
    $titel = $_REQUEST["titel"];
    $fradato = $_REQUEST["fradato"];
    $framaaned = $_REQUEST["framaaned"];
    $tildato = $_REQUEST["tildato"];
    $tilmaaned = $_REQUEST["tilmaaned"];
    $fratime = $_REQUEST["fratime"];
    $framinut = $_REQUEST["framinut"];
    $tiltime = $_REQUEST["tiltime"];
    $tilminut = $_REQUEST["tilminut"];
    $pris = $_REQUEST["pris"];
    $postcity = $_REQUEST["postcity"];
    $obs = $_REQUEST["obs"];

if (preg_match("/^[0-9]{4}$/", $fraaar) && preg_match("/^[0-9]{4}$/", $tilaar) && !empty($titel) && !empty($fradato) && !empty($framaaned) && !empty($fraaar) && !empty($tildato) && !empty($tilmaaned) && !empty($tilaar) && !empty($postcity) && !empty($pris))
{
//indsæt data i databasen
    mysql_query("INSERT INTO event (eventID, titel, bruger, fra, til, pris, postby, oplysninger)
    values(0,'$titel', '$til', '$fraaar-$framaaned-$fradato $fratime:$framinut:00', '$tilaar-$tilmaaned-$tildato $tiltime:$tilminut:00', '$pris', '$postcity', '$obs')") or die(mysql_error());
echo "<h2>Event er nu tilføjet. Se kommende events <a href='$side/event/kom-events.php'>her</a></h2>";
}
else
{
Echo"et eller flere felter er ikke udfyldt";
}

?>

                </td>
            </tr>
        </table>
       
</td>
    </tr>
</table>


</body>

</html>  <----- linie 367
Avatar billede michaeltryl Seniormester
26. september 2006 - 18:16 #9
håber der er en som kan finde fejlen
Avatar billede nikksen Nybegynder
26. september 2006 - 18:58 #10
Hvad er der forinden? Altså før den først request på $fraaar..
Avatar billede michaeltryl Seniormester
26. september 2006 - 19:10 #11
formularen der skal sendes, jeg har haft det til at virke, men ville så godt have et tjek på at det er fire tal der bliver postet i de to felter da de sendes til et datetime og derfor ikke vil blive indstat hvis det er bogstaver
Avatar billede nikksen Nybegynder
26. september 2006 - 19:20 #12
ok, jeg lurede bare på om der gemte sig en { længere oppe som så ikke blev lukket længere nede.
Avatar billede nikksen Nybegynder
26. september 2006 - 19:24 #13
Sker fejlen i øvrigt i det du prøver at sætte værdierne ind i databasen eller er det bare når du åbner siden?
Avatar billede michaeltryl Seniormester
26. september 2006 - 19:33 #14
Der var en } som manglede længere oppe og nu ser siden fin ud
men vil lige høre om en ting for hvordan tjekker for om der kun skrives tal i feltet pris
jeg har prøvet med dette, men det virker ikke det virker hvis jeg fjerner && preg_match("/^[0-9]$/", $pris

if (preg_match("/^[0-9]{4}$/", $fraaar) && preg_match("/^[0-9]{4}$/", $tilaar && preg_match("/^[0-9]$/", $pris) && !empty($titel) && !empty($fradato) && !empty($framaaned) && !empty($fraaar) && !empty($tildato) && !empty($tilmaaned) && !empty($tilaar) && !empty($postcity))

derudover står der "et eller flere felter er ikke udfyldt" så snart siden åbnes hvordan undgår jeg dette"
Avatar billede hmm10 Nybegynder
26. september 2006 - 21:37 #15
Avatar billede michaeltryl Seniormester
27. september 2006 - 09:17 #16
tak så virker det smid et svar alle tre så får i point
Avatar billede hmm10 Nybegynder
28. september 2006 - 12:47 #17
Et svar, hvis det kan bruges :~)
Avatar billede sw_red_6 Nybegynder
17. oktober 2006 - 09:54 #18
mht. derudover står der "et eller flere felter er ikke udfyldt" så snart siden åbnes hvordan undgår jeg dette
så kan du prøve at sætte en if(isset( VAR FRA FORM )) { } rundt om
    $fraaar = $_REQUEST["fraaar"];
    $tilaar = $_REQUEST["tilaar"]; 
    $titel = $_REQUEST["titel"];
    $fradato = $_REQUEST["fradato"];
    $framaaned = $_REQUEST["framaaned"];
    $tildato = $_REQUEST["tildato"];
    $tilmaaned = $_REQUEST["tilmaaned"];
    $fratime = $_REQUEST["fratime"];
    $framinut = $_REQUEST["framinut"];
    $tiltime = $_REQUEST["tiltime"];
    $tilminut = $_REQUEST["tilminut"];
    $pris = $_REQUEST["pris"];
    $postcity = $_REQUEST["postcity"];
    $obs = $_REQUEST["obs"];

if (preg_match("/^[0-9]{4}$/", $fraaar) && preg_match("/^[0-9]{4}$/", $tilaar) && !empty($titel) && !empty($fradato) && !empty($framaaned) && !empty($fraaar) && !empty($tildato) && !empty($tilmaaned) && !empty($tilaar) && !empty($postcity) && !empty($pris))
{
//indsæt data i databasen
    mysql_query("INSERT INTO event (eventID, titel, bruger, fra, til, pris, postby, oplysninger)
    values(0,'$titel', '$til', '$fraaar-$framaaned-$fradato $fratime:$framinut:00', '$tilaar-$tilmaaned-$tildato $tiltime:$tilminut:00', '$pris', '$postcity', '$obs')") or die(mysql_error());
echo "<h2>Event er nu tilføjet. Se kommende events <a href='$side/event/kom-events.php'>her</a></h2>";
}
else
{
Echo"et eller flere felter er ikke udfyldt";
}
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