27. august 2004 - 05:53Der er
29 kommentarer og 1 løsning
Kald fra anden side giver problemer
Hej.
Jeg har en side der kaldes fra en anden side et andet sted i landet. De har lavet en link til min side, men de bruger tilsyneladende frames.
Nå man trykker på deres link kommer min side frem i deres main vindue. Når man så trykker på en bestilling, hvor der skal komme en formular frem kommer denne fejl:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (id = '46')' at line 1
id = bestillingsnummer i dette tilfælde, og det skifter alt efter hvilken bestilling man vælger. Hvis jeg så trykker på noget andet og vælger at gå tilbage til forsiden på min side, renser den alt fra den anden side væk, og det hele virker som det plejer.
Hvad kan det skyldes ? Det burde da ikke have noget at gøre med min kode fordi de ikke laver en target"_blank" på deres link ? Det er det eneste jeg har kunne foreslå, men hvis der nu senere skulle komme en mere der linker, ville det jo være rart at kunne forebygge det. Det er jo noget php kode på min side der laver et sql kald og ikke på deres side.
Nogen idér til hvad jeg evt. kan prøve at lave om på min side, så det ikke sker ?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Den første den kommer til når den går ind på siden er denne:
require_once('Connections/biffen.php');
Men den er jo på alle siderne. Dernæst kommer denne:
$query_rsFindBy = "SELECT Biograf, Navn FROM biografer WHERE (Navn = '$ByNavn')";
Men det skulle vel ikke have noget at sige at siden er kaldt fra en anden side i frames. Det er det jeg ikke kan få ind under håret. Kører man direkte er der ingen problemer.
Det lader jo til at det er en SQL sætning der har noget med "WHERE (id = '$envariabel')" i sig...
Synes godt om
Slettet bruger
28. august 2004 - 06:27#4
Gider du forklare hvad du mener ? Jeg kan stadig ikke se at det skulle give en forskel. Hvis man ikke bruger det link til siden, fra en anden side, så virker min side og der kommer ingen fejl.
Synes godt om
Slettet bruger
28. august 2004 - 06:29#5
Det ville være det samme, hvis du laver et link til eksperten.dk og når du klikker på den, så får du den fejl. Men går du direkte ind på eksperten.dk så er der ingen fejl. Jeg ved ikke om det forklarede problemet lidt bedre.
Ja, men problemet giver ingen mening. Så lad os se noget kode ;)
Synes godt om
Slettet bruger
28. august 2004 - 12:46#7
Fejlen er der kun når siden kører på en anden side i en frame, og det har jeg ikke koden til. Jeg tænkte på om der var mulighed for atlave noget på min side der automatisk laver en echo "target=_blank" eller sådan noget uden at gå i selvsving. Hvis jeg kan det, tror jeg problemet er løst, men jeg ved ikke hvordan man evt. kan det. Og jeg er heller ikke sikker på at det vil løse problemet.
Denne fejl: "You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE (id = '46')' at line 1" - Den dukker på på *din* side, right? Lad os se SQL-statementet som den brokker sig over.
Synes godt om
Slettet bruger
28. august 2004 - 13:42#9
Jeg ved ikke præcis hvilken det er , men regner med at det er den jeg har skrevet oven for tidligere.
Den er sat i den første side, så det er ikke den der mangler. $_SESSION["ByNavn"] = $_GET['By'];
Siden kører fejlfrit uden linken fra den anden side. Problemet er, tror jeg, at de lader min side kører inde i deres frame, for vælger men et eller andet og klikker på et link tilbage til forside, så renses dres side væk og så er fejlen også væk. Det er den jeg ikke kan regne ud. Hvorfor giver det fejl fordi siden køre i en anden sides frames. Jeg synes bare det er så underligt :)
Jeg kan ikke eksperimentere med den side nu, den bliver brugt til booking af biografbillettet til skoler, så det er lidt dumt at pille iden. Men jeg er interesseret i at finde ud af hvad der er galt.
Hvad sker der med dit eksempel hvis nu bynavn er sat, hvad jeg er sikker på at den er. Der køres jo ikke noget kode på deres server, der linkes bare til min og havde de lagt target=_blank ind i linken ville problemet sikkert ikke være der.
Så eksperimenter med den side må jeg vente med til der lukkes for booking i næste måned.
Synes godt om
Slettet bruger
28. august 2004 - 15:04#19
Ups, jeg prøvede lige dit eksempel. Så åbner den et nyt framesæt inde i et framesæt som kører i deres framesæt. Det går virkelig ikke :-)
Hvis du satte min kode ind, og din forside dukkede op, er bynavn ikke blevet sat. Dér har du dit problem. De må linke direkte til en side, hvor bynavn ikke bliver sat.
Synes godt om
Slettet bruger
28. august 2004 - 15:10#21
Ja jeg sidder lige og ser på det. Man vælget by (biograf):
og der sættes bynavn jo. Jeg kan godt se at du her noget ret. Men hvorfor virker det så når man ikke kommer fra den side ? Den kan jeg altså ikke regne ud. Hvad har det med deres server at gøre når de kun linker til min ?
Ja, men det kan de ikke. Der er et kort med en masse byer på, hvor man klikker på kortet. Så kommer man til den biograf man vil i, og skal vælge en film. Lige når de klikker på filmen kommer fejlen.
På denne side http://biograf.uups.dk/ kan du afprøve hvad jeg skrev. Den er næsten identisk. Men der får du ingen fejl, for den kaldes jo ikke fra en anden sides frames.
Synes godt om
Slettet bruger
29. august 2004 - 08:34#24
Hvorfor i alverden smider eksperten indlægene ud når man sender dem. Det har jeg snart prøvet nogen gange.
Nå jeg må se om jeg kan huske hvad jeg skrev:
Kan man ikke putte target="_blank" ind i disse linier, så det virker:
Jeg har en tro på at det vil løse mit problem. Jeg har læst på php net, men finder ingen steder hvor de bruger target. Måske hedder det noget helt andet, men hvad.
I retfejl.html har jeg så lavet et link der laver det jeg vil, men det burde vel kunne gøres automatisk, men hvordan. Som det er nu skal man klikke på et link for at komme videre.
coderdk - læg et svar. Du har givet god inspiration til at løse problemet. Det jeg har lavet kan bruges indtil de får rettet den link på den anden side. De er vist ikke så hurtige ;-)
Du kunne jo, hvis det ikke kræver interaktion fra brugeren bare køre din kode der:
if( !isset( $_SESSION['ByNavn'] ) ) { // Kør kode her // Evt. sæt $_SESSION['ByNavn'] eller lignende }
Synes godt om
Slettet bruger
29. august 2004 - 10:38#29
Hmmm, den går jo nok ikke. Når de så retter linken ligger koden jo der, ellers skal den jo være der to gange, og det fylder nok for meget. Jeg lader det være som det er indtil jeg ser hvad der sker når de får lavet linken om :)
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.