Bu kısa php kodu ile sözdizimi sorun

4 Cevap

Nasıl başlık hattına $location değişkeni yazmak gerekir? Şu anda hiçbir şey bulur ... Blank adress bar ...

İşte ben bugüne kadar ne var:

  $location='/ad?ad_id='.$id_nr;
  Header( "Location: $location" );

BTW, bu benim bilgisayar, sanal sunucu üzerinde, adres mutlak!

Bu ?ad_id=.$id_nr parçası olmadan çalışıyor!

4 Cevap

Yer başlık https gibi http:// veya diğer bazı protokol ile başlayan, tam oluşmuş mutlak adresi olmalıdır. Göreceli bir URL belirtebilirsiniz olamaz.

Siteniz için kök URL ile değiştirilir mysite.com ile, bu deneyin:

<?php

$location='/ad?ad_id='.$id_nr;
Header( "Location: http://www.mysite.com/$location" );
// or, on your local machine
Header( "Location: http://localhost/$location" );

?>

Sonunda sizin için işi yapmak için daha yararlı bir işlevi yazma düşünebilirsiniz:

<?php

function redirect_to($location, $halt = true) {
  $root = $_SERVER['HTTP_HOST'];
  header("Location: $root/$location");
  if ($halt)
    exit;
}

?>

Peki, header() function is header değil Header ve the URI in location headers must be absolute, göreceli değil.

Konum değişkeni, i geçerli bir dosya uzantısı, örneğin HTML veya PHP görmüyorum. Eğer dosyaları hiçbir uzantısı olmadığından emin misin?

$location='/ad?ad_id='.$id_nr;
Header( "Location: $location" );

Tam url almak için $ _SERVER ['HTTP_HOST'] kullanın.

Başlık çağrısından sonra bir çıkış koymak unutmayın. Script otomatik durmayacak, durdurmak için bunu söylemek zorundayım.