php projekt arbejder på linux server men ikke på windows

Indlæg af Hanne Mølgaard Plasc

Problem



Så jeg har to eksemplarer af det samme projekt. Konfigurationen af ​​serverne er den samme. Skriften skal skrive nogle data til databasen og derefter omdirigere brugeren til den relevante side med funktionen header() afhængigt af dataene, der er skrevet til databasen.


Det virker fint på Linux-serveren, men i Windows forsøger den at omdirigere først, og skriv derefter til databasen, som selvfølgelig ikke virker, fordi der ikke er nogen data skrevet. Hvis jeg kommenterer funktionen header() i Windows-versionen, skriver den til databasen, men gør ikke omdirigering.


Hvordan kan to eksakte scripts arbejde så anderledes?


Redigere:


Jeg er ikke sikker på hvordan jeg viser koden, da der er så meget af det, og det er så spredt. Men i grunden er det bare en funktion, der sætter header() og derefter den funktion, der skriver at db. Og når det omdirigeres, skal det vælge de data, der blev skrevet til databasen og vise det.


Det er en meget forenklet version af den. Husk, at header er indstillet, før du skriver til databasen. Jeg tror, ​​at dette er synderen, men jeg skrev ikke koden, og jeg kan ikke ændre arkitekturen af ​​det, da det fungerer perfekt på 2 Linux-servere, forstår jeg bare ikke hvordan. Jeg skal bare gøre det til at fungere på Windows-serveren.


Det gør omdirigeringen ok, det betyder, at det sender mig til det link, det skal sende mig til, men det skriver ikke til databasen. Men jeg kommenterer header() delen, skriver den til databasen, men gør ikke omdirigering.

Bedste reference


Prøv at tilføje en if-sætning som denne:


if(mysql\_query('...') && mysql\_affected\_rows()){
   header("Location: redirectScript.php");exit();
}


Håber dette hjælper...

Andre referencer 1


Dokumentationen til headerfunktionen angiver følgende: [7]



  Bemærk:

  
  HTTP/1.1 kræver en absolut URI som
  argument til »Placering: herunder
  ordningen, værtsnavn og den absolutte sti,
  men nogle klienter accepterer relative URI'er.
  Du kan normalt bruge
  $ \_SERVER [['HTTP\_HOST']],
  $ \_SERVER [['PHP\_SELF']] og dirname () til
  lav en absolut URI fra en slægtning
  en selv:



Bruger du en relativ webadresse? Det er muligt, at LAMP kan lide en relativ URL mere end WAMP gør. Det er en simpel test, så værd at tage et skud.

Andre referencer 2


Af en eller anden grund har jeg kun fået det til at arbejde på WampServer og med PHP 5.2.4