Veri olmayan php api'yi çalıştırmama
<div class="kutucugumuz"></div>
<?php
if ( isset($_GET['language']) ) {
$language = $_GET['language'];
} else {
$language = 'en';
}
if ( isset($_GET['userAgent']) ) {
$userAgent = $_GET['userAgent'];
} else {
$userAgent = 'WikiBot/1.0 (+http://'.$_SERVER['SERVER_NAME'].'/)';
}
if ( isset($_GET['betterResults']) and
($_GET['betterResults'] == 'false' or $_GET['betterResults'] == 0) ) {
$betterResults = false;
} else {
$betterResults = true;
}
if ( isset($_GET['proxy']) ) {
$proxy = $_GET['proxy'];
} else {
$proxy = null;
}
if ( isset($_GET['imageProxy']) and
($_GET['imageProxy'] == 'false' or $_GET['imageProxy']== 0) ) {
$imageProxy = false;
} else {
$imageProxy = true;
}
if ( isset($_GET['DEBUG']) ) {
$DEBUG = $_GET['DEBUG'];
} else {
$DEBUG = null;
}
// Set the Parameter
$options = array(
'language' => $language,
'userAgent' => $userAgent,
'betterResults' => $betterResults,
'proxy' => $proxy,
'imageProxy' => $imageProxy,
'DEBUG' => $DEBUG,
);
require_once __DIR__.'/ciktisi.php';
// Start the Wikipedia API Class
$wiki = new wiki($options);
// Output the API Response
echo $wiki->api($_GET['q']);
// Print the Script Runtime in DEBUG Mode
if ( isset($DEBUG) ) {
echo "<pre>\n\n\tRuntime: ".number_format((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT']),3);
}
?>
Merhabalar, yukarıdaki kodda aramalarda mesela üste verdiğim div'i apilerde sonuç çıkmayınca sadece içi boş kutucuk çıkıyor. Eğer sonuç yok ise nasıl tamamen div'i kaldırabiliriz ?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (30)
Stilllerinizi sayfanın üstünde çağırmalısınız.
<?php
$language = isset($_GET['language']) ? $_GET['language'] : 'en';
$userAgent = isset($_GET['userAgent']) ? $_GET['userAgent'] : 'WikiBot/1.0 (+http://'.$_SERVER['SERVER_NAME'].'/)';
$betterResults = !( isset($_GET['betterResults']) && ($_GET['betterResults'] == 'false' || $_GET['betterResults'] == 0));
$proxy = isset($_GET['proxy']) ? $_GET['proxy'] : null;
$imageProxy = !(isset($_GET['imageProxy']) && ($_GET['imageProxy'] == 'false' || $_GET['imageProxy']== 0));
$DEBUG = isset($_GET['DEBUG']) ? $_GET['DEBUG'] : null;
// Set the Parameter
$options = array(
'language' => $language,
'userAgent' => $userAgent,
'betterResults' => $betterResults,
'proxy' => $proxy,
'imageProxy' => $imageProxy,
'DEBUG' => $DEBUG,
);
require_once __DIR__.'/ciktisi.php';
// Start the Wikipedia API Class
$wiki = new wiki($options);
// Output the API Response
$apiResult = $wiki->api($_GET['q']);
if($apiResult) { ?>
<div class="kutucugumuz">
<div class="bilgi viki5">
<h3 class="yazilar"><i class="ikon"></i> Türkçe wikimiz</h3>
</div>
<div class="sag-bilgi">
<div class="left-s"><span class="digerb"></span></div>
<div class="">
<div class="kucuk">
<div class="">
<?=$apiResult?>
</div>
</div>
</div>
</div>
</div>
<?php } else { ?>
<div>Buraya da sonuç dönmediğinde görüntülenecek içerik gelecek</div>
<?php }
// Print the Script Runtime in DEBUG Mode
if ( isset($DEBUG) ) {
echo "<pre>\n\n\tRuntime: ".number_format((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT']),3);
}
?>
Hocam çalıştı :)
Sonuçlar çıkmadığında else'ye
<style>
.kutucugumuz {
display:none;
}
</style>
diyerek gözükmemesini sağlatıyoruz.
Eğer sonuç var ise sıkıntısız bir şekilde yazdırıyor :)
Size nasıl teşekkür etsem az. Bu gibi sorunlarla karşılaştığımızda yardımımıza koştunuz. Artık php üzerine daha fazla düşeceğim. :)
Kodu güncelledim tekrar deneyin. Kod içinde geçen exit(); kodlarını silin.
Sayfanın altında üstünde başka kodlar varsa onlar etkiliyor da olabilir.
Sorun stillerin gelmemesiyse stilleri sayfanın üst kısımlarında yazın.
Şu an veriyi kutuya yazıyor olmalı. Ekran görüntüsü atabilir misiniz?
div'leri yukarı yazmayın.
Buraya sonuç döndüğünde ne istiyorsak o içerik gelecek. kutucuk, küçük, div'ler vs her ne istersek buraya...
yazdığım yere yazın.
else
içindeki stilleri kaldırın. Ona gerek yok. Sonuç dönmediğinde görünecek html verisini oraya yazın.
<div class="kutucugumuz"><div class="bilgi viki5">
<h3 class="yazilar"><i class="ikon"></i> Türkçe wikimiz</h3></div><div class="sag-bilgi"><div class="left-s"><span class="digerb"></span></div><div class=""><div class="kucuk"><div class="">
<?php
$language = isset($_GET['language']) ? $_GET['language'] : 'tr';
$userAgent = isset($_GET['userAgent']) ? $_GET['userAgent'] : 'WikiBot/1.0 (+http://'.$_SERVER['SERVER_NAME'].'/)';
$betterResults = !( isset($_GET['betterResults']) && ($_GET['betterResults'] == 'false' || $_GET['betterResults'] == 0));
$proxy = isset($_GET['proxy']) ? $_GET['proxy'] : null;
$imageProxy = !(isset($_GET['imageProxy']) && ($_GET['imageProxy'] == 'false' || $_GET['imageProxy']== 0));
$DEBUG = isset($_GET['DEBUG']) ? $_GET['DEBUG'] : null;
// Set the Parameter
$options = array(
'language' => $language,
'userAgent' => $userAgent,
'betterResults' => $betterResults,
'proxy' => $proxy,
'imageProxy' => $imageProxy,
'DEBUG' => $DEBUG,
);
require_once __DIR__.'/ciktisi.php';
// Start the Wikipedia API Class
$wiki = new wiki($options);
// Output the API Response
$apiResult = $wiki->api($_GET['q']);
if($apiResult) { echo $apiResult; ?>
<div>Buraya sonuç döndüğünde ne istiyorsak o içerik gelecek. kutucuk, küçük, div'ler vs her ne istersek buraya...</div>
<?php exit(); }
else { ?>
<style>
.kutucugumuz {
display:none;
}
</style>
<?php }
// Print the Script Runtime in DEBUG Mode
if ( isset($DEBUG) ) {
echo "<pre>\n\n\tRuntime: ".number_format((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT']),3);
exit();
}
?>
</a></div></div></div><div class="son sag-taraf"><span class="dd"></span></div></div></div>
Hocam bu sefer çalıştığında tüm diğer divleri dahil tamamen kaldırıyor.
Normal text'i gibi geliyor.
Örn : https://prnt.sc/ffvb-NN3GXwf
Kısaca kutucuğun içinde değil.
Gözükmemesi için böyle yaptım ve çalıştı. Ancak çalışınca hata veriyor bu sefer.
else { ?>
<style>
.kutucugumuz {
display:none;
}
</style>
Bu sefer hiç çalışması hocam. Resim'i size aktarıyorum.
https://prnt.sc/HnDe5O3Lery_
Belirttiğim yerlere istediğiniz html içeriği ekleyebilirsiniz...
<?php
$language = isset($_GET['language']) ? $_GET['language'] : 'en';
$userAgent = isset($_GET['userAgent']) ? $_GET['userAgent'] : 'WikiBot/1.0 (+http://'.$_SERVER['SERVER_NAME'].'/)';
$betterResults = !( isset($_GET['betterResults']) && ($_GET['betterResults'] == 'false' || $_GET['betterResults'] == 0));
$proxy = isset($_GET['proxy']) ? $_GET['proxy'] : null;
$imageProxy = !(isset($_GET['imageProxy']) && ($_GET['imageProxy'] == 'false' || $_GET['imageProxy']== 0));
$DEBUG = isset($_GET['DEBUG']) ? $_GET['DEBUG'] : null;
// Set the Parameter
$options = array(
'language' => $language,
'userAgent' => $userAgent,
'betterResults' => $betterResults,
'proxy' => $proxy,
'imageProxy' => $imageProxy,
'DEBUG' => $DEBUG,
);
require_once __DIR__.'/ciktisi.php';
// Start the Wikipedia API Class
$wiki = new wiki($options);
// Output the API Response
$apiResult = $wiki->api($_GET['q']);
if($apiResult) { echo $apiResult; ?>
<div>Buraya sonuç döndüğünde ne istiyorsak o içerik gelecek. kutucuk, küçük, div'ler vs her ne istersek buraya...</div>
<?php exit(); }
else { ?>
<div>Buraya da sonuç dönmediğinde görüntülenecek içerik gelecek</div>
<?php }
// Print the Script Runtime in DEBUG Mode
if ( isset($DEBUG) ) {
echo "<pre>\n\n\tRuntime: ".number_format((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT']),3);
exit();
}
Ayrıca en üsteki divleri küçük değiştirdim. Şimdiki hali ;
<div class="kutucugumuz"><div class="bilgi viki5">
<h3 class="yazilar"><i class="ikon"></i> Türkçe wikimiz</h3></div><div class="sag-bilgi"><div class="left-s"><span class="digerb"></span></div><div class=""><div class="kucuk"><div class="">
@ebykdrms
Evet hocam. Ancak sitedeki tüm divleri geçersiz saydı. Sadece bu <div class="kutucugumuz"></div>'in devre dışı kalması gerekiyor. Ayrıca sonuç bulunamadı gibi yazılara da gerek yok.
Ayrıca benim div en üstte. Aşağıda olmasının sebebi nedir ? Ayrıca hiç çalışmıyor kodun en aşağısına koyunca ne yazık ki :(
Tamam zaten sonuç dönmeyince div'leri geçersiz saymasını istedim.
Bu durumda şunu yapabilirsiniz:
<?php
//... önceki kodlarınız...
$apiResult = $wiki->api($_GET['q']);
if(!$apiResult) {
?>
<div>Buraya sonuç dönmediğinde görüntülenecek içerik gelecek...</div>
<?php
exit();
}
echo $apiResult;
if (isset($DEBUG)) {
echo "<pre>\n\n\tRuntime: ".number_format((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT']),3);
exit();
}
?>
<div class="kutucugumuz"></div>
Maalesef @ebykdrms hocam. Çalışmadı. Tam tersine tüm divleri geçersiz saydı. Site bozuldu kısaca :(
Sizin dediğiniz yer arama.php içinde yani ana dizinde.
// Output the API Response
echo $wiki->api($_GET['q']);
Bu şekilde. Ardından sonlara doğru ise
// Print the Script Runtime in DEBUG Mode
if ( isset($DEBUG) ) {
echo "<pre>\n\n\tRuntime: ".number_format((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT']),3);
}
Benim deneme şansım yok ne yazık ki.
belki şunu deneyebilirsiniz:
echo $wiki->api($_GET['q']);
yazan satırı silip yerine şunu yazın:
$apiResult = $wiki->api($_GET['q']);
if(!$apiResult) {
echo "Sonuç dönmedi";
exit();
}
echo $apiResult;
Bu arada div'iniz yine aşağıda olacak.
Kullandığım api bu : https://github.com/gaffling/PHP-Wiki-API
Sanırsam şöyle ;
- @example <php>
- require_once DIR.'/wiki2api.php'; // Include the Wikipedia API Class
- $wiki = new wiki(); // Start the Wikipedia API Class
- echo $wiki->api($_GET['q']); // Output the API Response
- </php>
*/
Çalışmadı ne yazık ki @ebykdrms
Benim amacım;
<div class="kutucugumuz"></div>
içinde çalışıyor. Bu div ile kutu şeklinde border: 1px solid #ddd gibi css vermiştim.
Bunla çalıştırıp eğer sonuç yok ise hiç gözükmesin istiyorum. Ancak yine verdiğim div çalışıyor. Ancak içi boş olarka.
<?php
$language = isset($_GET['language']) ? $_GET['language'] : 'en';
$userAgent = isset($_GET['userAgent']) ? $_GET['userAgent'] : 'WikiBot/1.0 (+http://'.$_SERVER['SERVER_NAME'].'/)';
$betterResults = !( isset($_GET['betterResults']) && ($_GET['betterResults'] == 'false' || $_GET['betterResults'] == 0));
$proxy = isset($_GET['proxy']) ? $_GET['proxy'] : null;
$imageProxy = !(isset($_GET['imageProxy']) && ($_GET['imageProxy'] == 'false' || $_GET['imageProxy']== 0));
$DEBUG = isset($_GET['DEBUG']) ? $_GET['DEBUG'] : null;
// Set the Parameter
$options = array(
'language' => $language,
'userAgent' => $userAgent,
'betterResults' => $betterResults,
'proxy' => $proxy,
'imageProxy' => $imageProxy,
'DEBUG' => $DEBUG,
);
require_once __DIR__.'/ciktisi.php';
// Start the Wikipedia API Class
$wiki = new wiki($options);
// Output the API Response
echo $wiki->api($_GET['q']);
// Print the Script Runtime in DEBUG Mode
if ( isset($DEBUG) ) {
echo "<pre>\n\n\tRuntime: ".number_format((microtime(true)-$_SERVER['REQUEST_TIME_FLOAT']),3);
exit();
}
?>
<div class="kutucugumuz"></div>