Avatar billede lars888 Nybegynder
29. november 2005 - 21:34 Der er 23 kommentarer og
1 løsning

Parse error: parse error, unexpected T_STRING FEJL

Jeg bliver ved med at få denne fejl i et PHP script:

Parse error: parse error, unexpected T_STRING in /usr/local/psa/home/vhosts/XXX.dk/httpdocs/bestilling.php on line 309.

Dette er linie 309:

    header("http://www.XXX.dk/tak_for_din_bestilling.html"); /* Redirect browser */
}
?>

(Det er slutningen af scriptet og det skulle fungere som en redirect til en takke side...)

Nogen der kan se hvad problemet er?

PS: jeg er helt grøn på dette område, så kan godt være det er en lille ting...
Avatar billede jaw Nybegynder
29. november 2005 - 21:38 #1
Først og fremmest skal den være:

header("Location: http://www.XXX.dk/tak_for_din_bestilling.html"); /* Redirect browser */

Men hvordan ser linie 308 ud? For det der er ikke nogen syntax-fejl.
Avatar billede lars888 Nybegynder
29. november 2005 - 21:38 #2
Linien er kun:

header("http://www.XXX.dk/tak_for_din_bestilling.html"); /* Redirect browser */
Avatar billede lars888 Nybegynder
29. november 2005 - 21:39 #3
øhm, du får lige de sidste par linier:

mail("XXX@XXX.dk" ,"Bestilling fra XXX.dk",$message, "From:".$_POST[email] )

header("http://www.easyaktiv.dk/tak_for_din_bestilling.html"); /* Redirect browser */
}
?>
Avatar billede jaw Nybegynder
29. november 2005 - 21:40 #4
Yes, og der var din fejl - skift til:


mail("XXX@XXX.dk" ,"Bestilling fra XXX.dk",$message, "From:".$_POST[email] );

...altså der manglede et ;
Avatar billede jaw Nybegynder
29. november 2005 - 21:41 #5
Og helt perfekt, bør det være:

mail("XXX@XXX.dk", "Bestilling fra XXX.dk", $message, "From:".$_POST['email']);

- hvilket dog kun på de strengeste serveropsætninger vil give dig fejl, så i dit tilfælde vil det ikke betyder så meget.
Avatar billede lars888 Nybegynder
29. november 2005 - 21:57 #6
Yes sir så virkede det sgu, men bliver ikke redirectet?

har du mod på at kigge på hele koden? det er en form der sendes til en mail...
Avatar billede egeriis Nybegynder
29. november 2005 - 22:09 #7
Det er skrevet længere oppe at du mangler "location:" i din header.
Avatar billede jakobdo Ekspert
29. november 2005 - 22:10 #8
Og husk efter jaw's rettelse:
header("Location: http://www.XXX.dk/tak_for_din_bestilling.html"); /* Redirect browser */
At skriv:
exit();
Avatar billede lars888 Nybegynder
29. november 2005 - 22:12 #9
Jeps, så jeg godt den hedder (i en linie):

header("Location: http://www.easyaktiv.dk/tak_for_din_bestilling.htm"); /* Redirect browser */
Avatar billede lars888 Nybegynder
29. november 2005 - 22:13 #10
Jakobdo -> prøver jeg lige ;)
Avatar billede lars888 Nybegynder
29. november 2005 - 22:17 #11
hmm tror det er fordi, der er noget automatisk tjek på siden (altså af form felterne...) den skal kun gå til tak siden hvis der er korrekt udfyldt.

Her er hele koden, kan være i kan se noget jeg ikke kan :)
<?
if (intval($_POST[antal])==0 || $_POST[Navn]=="" || $_POST[Firma]=="" | $_POST[Adresse]==""  || intval($_POST[Postnummer])==0 || $_POST[By] == "" || intval($_POST[CVR])==0 || $_POST[Email]=="" || $_POST[Telefon]=="")
{ // Fejl i indtastede informationer
?>

HER IMELLEM EN HTML SIDE med formen...

<?
}
else // Send ordren
{
$Antal = $_POST[Antal];
$Vare = $_POST[RadioGroup1];
$Navn = $_POST[Navn];
$Firma = $_POST[Firma];
$Adresse = $_POST[Adresse];
$Postnummer = $_POST[Postnummer];
$By = $_POSTS[By];
$CVR = $_POST[CVR];
$Email = $_POST[Email];
$Telefon = $_POST[Telefon];
   
$pris["Basis"] = 1995;
$pris["Basis+"] = 2995;
$pris["Basis++"] = 3995;
$pris["Basis -> Basis+"] = 1000;
$pris["Basis -> Basis++"] = 2000;
$pris["Basis+ -> Basis++"] = 1000;
   
$ialt = $pris[$Vare] * intval($_POST[antal]);
   
$message = "Bestilling af XXX: \n------------------------\n";
$message .=str_pad("Antal", 10)."\t".$Antal."\n";
$message .=str_pad("Vare", 10)."\t".$Vare."\n";
$message .=str_pad("Pris ialt", 10)."\t".$ialt."\n\n";
$message .=str_pad("Navn", 10)."\t".$Navn."\n";
$message .=str_pad("Firma", 10)."\t".$Firma."\n";
$message .=str_pad("CVR", 10)."\t".$CVR."\n";
$message .=str_pad("Postnummer", 10)."\t".$Postnummer."\n";
$message .=str_pad("By", 10)."\t".$By."\n";
$message .=str_pad("Email", 10)."\t".$Email."\n";
$message .=str_pad("Telefon", 10)."\t".$Telefon."\n";
mail("XXX@XXX.dk" ,"Bestilling fra XXX.dk",$message, "From:".$_POST[email] );

header("Location: http://www.XXX.dk/tak_for_din_bestilling.htm"); /* Redirect browser */ exit();
}
?>
Avatar billede jaw Nybegynder
29. november 2005 - 22:21 #12
Man kan så sige, at når det er allersidste linie i et script, så er exit() ikke så vigtigt - men principielt bør den være der :)

Men hvis din mail bliver sendt, så burde den også redirecte. Gør den stadig ikke det?
Avatar billede lars888 Nybegynder
29. november 2005 - 22:22 #13
Nej, men mailen bliver heller ikke sendt...

bare et skud i tågen, min HMTL form submitknap, ser sådan ud:
<input name="Submit" type="submit" class="style29" value="Send Bestilling">

Mangler her noget?
Avatar billede jaw Nybegynder
29. november 2005 - 22:25 #14
Nej, den ser rigtig nok ud - og at der ikke sendes nogen mail, ville jo være en ret fin info at have for at fejlfinde :)

Anyhoo, så prøv at indsætte en udskrift i din if/else.

Altså:

if( ....... )
{
  echo "Kun if'en";
  ... resten ...
}
else
{
  echo "Nu er jeg i elsen";
  ... resten ...
}

Det kan måske hjælpe dig til at se, om du overhovedet kommer ind i din if/else. Og så fejlfinde ud fra det :) ?!
Avatar billede lars888 Nybegynder
29. november 2005 - 22:31 #15
;) hehe ja, kan godt se din pointe...

Hmm det er vist "else" den er gal i!
Avatar billede lars888 Nybegynder
29. november 2005 - 22:37 #16
Nå, jeg må prøve mig lidt frem... der er også en på arbejdet der nok kan hjælpe mig helt i mål! (sikkert bare noget fuldstændig åndsvagt, men sådan er det jo tit...:) Takker for hjælpen!
Avatar billede lars888 Nybegynder
29. november 2005 - 22:38 #17
points...
Avatar billede lars888 Nybegynder
29. november 2005 - 22:39 #18
altså hvis du lige svarer :)
Avatar billede egeriis Nybegynder
29. november 2005 - 22:51 #19
Du har en fejl, du har skrevet

$By = $_POSTS[By];

i stedet for

$By = $_POST[By];

:)
Avatar billede jaw Nybegynder
29. november 2005 - 23:29 #20
Ja, gør jeg gerne :)

Og skarpt nok set egeriis, selvom det næppe er grunden til at intet sker :)

Og godnat !
Avatar billede Slettet bruger
30. november 2005 - 16:39 #21
Og hvis du på et tidspunkt skal have en database koblet på, skal du lige være opmærksom på, at der bør dit felt ikke hedde by, for BY er et reserveret ord i SQL. Den har bidt mig nogle gange, hvor jeg ikke lige tænkte på det.
Avatar billede jaw Nybegynder
30. november 2005 - 16:58 #22
Der er da ikke noget galt i, at den hedder by. Så skal det bare sættes i `by` :)
Avatar billede jaw Nybegynder
30. november 2005 - 16:59 #23
Hov, min kommentar i går skulle da egentlig have været et svar - prøver lige igen :)
Avatar billede lars888 Nybegynder
30. november 2005 - 19:07 #24
Super, kan oplyse om at det var noget fuldstændig åndsvagt som et lille a i stedet for et stort A i Antal... :) så nu fungerer det hele.

Tak for hjælpen!
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