-
fatto ma non cambia nulla, quando scrivo nel area di testo non mi va a verificare se su altro server ce una cartella del nome che io digito, ps(spero di aver fatto bene nel uploadare il file accedi.php sul server window e il file index_friend.php su server linux dove si treverebbero le cartelle da verificare se esistono oppure no!
-
non so se è un problema su quel server o se c'è qualche errore nell'invio dei dati...
ho modificato il js in questo modo con type: "GET"
Codice HTML:
<script type="text/javascript">
$(document).ready(function(){
function prova1(){
var html= $.ajax({
type: "GET",
//url: "http://eurosalute.altervista.org/test-prove/index_friend.php",
url: "http://lnx.webskey.it/index_friend.php",
data: "cartella=<?=$cartella?>",
async: false,
dataType: "json",
success: function(response, statusText)
{
$('#friend').append("Stato --> "+statusText);
},
failure: function(msg)
{
alert(msg);
}
}).responseText;
return html;
}
var risultato=prova1();
$('#friend').append("<br>Risposta --> "+risultato);
if (risultato=='true') alert('La cartella Esiste');
});
</script>
quindi il file index_friend.php sarà:
Codice PHP:
<?
$cartella=null;
if (!empty($_GET['cartella'])) $cartella=$_GET['cartella'];
if ($cartella) {
if (is_dir("../".$cartella)) echo "true";
else echo "false";
}
?>
poi provo a fare un'altro script js...
ho inserito un altro script che avevo provato quando avevo un hosting esterno ad AV e funzionava molto bene...
codice file test-ajax.php:
Codice PHP:
<?
//session_start();
$cartella=null;
if ( !empty($_POST['cartella']) ) $cartella=$_POST['cartella'];
$chiama_ajax=false;
if (isset($_POST['chiama_ajax'])) $chiama_ajax=true;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<?
if ($chiama_ajax){
?>
<body onload="chiama_ajax('http://eurosalute.altervista.org/test-prove/chiama_ajax.php?id=<?=$cartella?>');">
<?
}
else echo "<body>";
?>
<script type="text/javascript">
$(document).ready(function(){
function prova1(){
var html= $.ajax({
type: "GET",
url: "http://eurosalute.altervista.org/test-prove/index_friend.php",
//url: "http://lnx.webskey.it/index_friend.php",
data: "cartella=<?=$cartella?>",
async: false,
dataType: "json",
success: function(response, statusText)
{
$('#friend').append("<br>Stato --> "+statusText);
},
failure: function(msg)
{
alert(msg);
}
}).responseText;
return html;
}
var risultato=prova1();
$('#friend').append("<br>Risposta --> "+risultato);
if (risultato=='true') alert('La cartella Esiste');
});
</script>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Verifica Cartella:
<input type="text" name="cartella">
<input type="submit" value="Verifica" onclick="">
</form>
<div id="friend"></div>
<script type="text/javascript">
// Ottieni la base url
url = document.location.href;
xend = url.lastIndexOf("/") + 1;
var base_url = url.substring(0, xend);
function chiama_ajax(url) {
//Inizia l'url con http?
if (url.substring(0, 4) != 'http') {
url = base_url + url;
}
// Crea un nuovo elemento JS
var jsel = document.createElement('SCRIPT');
jsel.type = 'text/javascript';
jsel.src = url;
//Appende l'elemento JS e quindi esegue la 'chiamata AJAX'
document.body.appendChild (jsel);
//setTimeout('leggodiv()',1000);
}
function leggodiv() {
element = document.getElementById ("contentdiv");
string = element.innerHTML;
alert (string)}
</script>
<br><br>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Verifica Cartella:
<input type="text" name="cartella">
<input type="submit" name="chiama_ajax" onClick="" value="Interroga PHP">
</form>
<br><br>
<div id="contentdiv"></div>
</body>
</html>
codice file chiama_ajax.php :
Codice PHP:
<?php
$testo = $msg = null;
if (!empty($_GET['id'])) $testo=$_GET['id'];
if ($testo) {
if (is_dir("../".$testo)) $msg="è una cartella";
else $msg="non è una cartella";
}
?>
div = document.getElementById('contentdiv');
div.innerHTML = '<?php echo "Il tuo ID: $testo $msg"; ?>';
leggodiv();
-
scusa ma il fatto e che forse sto sbagliando che metto il file index_friend.php dentro hosting linux dove ci sarebbero le cartelle da cercare !! adesso non si apre piu niente compare una pagina bianca http://www.webskey.it/accedi.php bee dai ti stò facendo perdere molto tempo, ci rinuncio, mi sa che verificare se un un altro server da quello che si utilizza, se una cartella esiste ho pure no ! credevo che fosse una cosa semplice, invece e piu difficile del previsto :-)) grazie cmq eurosalute
ps su php.net forse ho trovato un comando php che fa al funzione tanto aspirata file_exists provo a vedere se riesco a fare qualche , quando finisco postero lo script :-)
-
ma se a me funziona, come puoi vedere qui
http://eurosalute.altervista.org/tes.../test-ajax.php
prova a coppiare ed incollare l'ultimo codice dei due file, mettendo il file chiama_ajax.php nell'hosting dove vuoi controllare le cartelle...
so di per certo che l'ultimo script js function chiama_ajax(url) {
funzionava perfettamente...perchè lo avevo testato su di iun altro hosting esterno ad AV
------------------------------
file_exists() funziona solo in locale, non in remoto...
-------------------------
-
si vosto ma! che nome dovrei cercare per fare una prova, perche se scrivo una cosa a caso ess: pannello mi dice= il tuo id: pannello non e una cartella lo fatto ho messo il file 'index_friend.php' e 'chiama_ajax.php' e poi lo script
Codice PHP:
<?
//session_start();
$cartella=null;
if ( !empty($_POST['cartella']) ) $cartella=$_POST['cartella'];
$chiama_ajax=false;
if (isset($_POST['chiama_ajax'])) $chiama_ajax=true;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<?
if ($chiama_ajax){
?>
<body onload="chiama_ajax('http://lnx.webskey.it/chiama_ajax.php?id=<?=$cartella?>');">
<?
}
else echo "<body>";
?>
<script type="text/javascript">
$(document).ready(function(){
function prova1(){
var html= $.ajax({
type: "GET",
url: "url: "http://lnx.webskey.it/index_friend.php",
data: "cartella=<?=$cartella?>",
async: false,
dataType: "json",
success: function(response, statusText)
{
$('#friend').append("<br>Stato --> "+statusText);
},
failure: function(msg)
{
alert(msg);
}
}).responseText;
return html;
}
var risultato=prova1();
$('#friend').append("<br>Risposta --> "+risultato);
if (risultato=='true') alert('La cartella Esiste');
});
</script>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Verifica Cartella:
<input type="text" name="cartella">
<input type="submit" value="Verifica" onclick="">
</form>
<div id="friend"></div>
<script type="text/javascript">
// Ottieni la base url
url = document.location.href;
xend = url.lastIndexOf("/") + 1;
var base_url = url.substring(0, xend);
function chiama_ajax(url) {
//Inizia l'url con http?
if (url.substring(0, 4) != 'http') {
url = base_url + url;
}
// Crea un nuovo elemento JS
var jsel = document.createElement('SCRIPT');
jsel.type = 'text/javascript';
jsel.src = url;
//Appende l'elemento JS e quindi esegue la 'chiamata AJAX'
document.body.appendChild (jsel);
//setTimeout('leggodiv()',1000);
}
function leggodiv() {
element = document.getElementById ("contentdiv");
string = element.innerHTML;
alert (string)}
</script>
<br><br>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Verifica Cartella:
<input type="text" name="cartella">
<input type="submit" name="chiama_ajax" onClick="" value="Interroga PHP">
</form>
<br><br>
<div id="contentdiv"></div>
</body>
</html>
ma mi dice sempre che la cartella non esiste anche se la cartella esiste http://www.webskey.it/accedi.php dentro la cartella pannello ci ho messo un file index.php per richiamo ma nulla :-( dice che la cartella sul altro hosting non esiste, a me servirebbe un semplice cerca cartella con 2 chiamate se trova la cartella e se non la trova su altro server 2 echo di risposta insomma
-
sostituisci nel file chiama_ajax.php :
Codice PHP:
if (is_dir("../".$testo)) $msg="è una cartella";
con
Codice PHP:
if (is_dir("./".$testo)) $msg="è una cartella";
-
sempre uguale come qui http://eurosalute.altervista.org/tes.../test-ajax.php
se scrivo un nome di una cartella mi dice che non e una cartella
-
semmai è:
http://eurosalute.altervista.org/tes.../test-ajax.php
puoi scrivere il codice del file chiama_ajax.php, perchè se ottieni la risposta deve funzionare...
-
-
Codice PHP:
<?php
$testo = $msg = null;
if (!empty($_GET['id'])) $testo=$_GET['id'];
if ($testo) {
if (is_dir("./".$testo)) $msg="è una cartella";
else $msg="non è una cartella";
}
?>
div = document.getElementById('contentdiv');
div.innerHTML = '<?php echo "Il tuo ID: $testo $msg"; ?>';
leggodiv();
si ma cmq anche su questo link e uguale http://eurosalute.altervista.org/tes.../test-ajax.php se scrivo test-prove mi dice sempre che il tuo id test-prove non e una cartella insomma sarebbe possibile invece di queste 2 risposte box ettenere un apertura di 2 pagine.html una se esiste altra se non esiste la cartella
-
alcune cartelle esistenti sul mio hosting se vuoi provare:
drupal
test-prove
images
a me funziona...
-
si esce prima che la cartella esiste poi esce che id test-prove non e una cartella escono 2 messaggi, asp ma io scrivevo nel altra text area credevo fosse quella che doveva finzionare (interoga php) ora ho provato quella sopra e funziona solo che a me non và io dentro la cartella pannello ci ho messo un file index.html vuoto forse devo scriverci per forza dentro al file per trovare la cartella? ps poi si potrebbe fare tutto su una sola textarea e non su 2, scusa ma non e che magari ci sarebbe un sistema piu semplice per verificare se un indirizzo web esiste?
-
il modo più semplice è la funzione file_get_contents(), ma nel file index.php o index.html deve esserci qualcosa scritto,
perchè la funzione prende il contenuto di un file....
x index.php puoi fare così:
Codice PHP:
<?
echo $_SERVER['PHP_SELF'];
exit();
?>
comunque mi fa strano che a me funzioni e a te no, prova ancora a fare così x il file chiama_ajax.php
Codice PHP:
if (is_dir($testo)) $msg="è una cartella";
-
il fatto e che quello script anche se mi funziona servono 2 textarea io dovrei far funzionare tutto in una sola textarea scusa ma si potrebbe lasciare tutto e ricominciare da capo, mi faresti uno script con questo <?
echo $_SERVER['PHP_SELF'];
exit();
?>
che tramite una textarea io se ci scrivo dentro pannello va a cercare la pagina lnx.webskey.it/pannello/index.html se esiste mi restituisce 2 echo uno se esiste altro se non esiste , ma non deve aprire la pagina, scusa se ti chiedo sto piccolo favore, ma io sono off aut :-)) non riesco piu a pansare con il cervello sono fuso orami forse domani farò altri tentativi. grazie cmq
-
Citazione:
Originalmente inviato da
andreafallico
le soluzioni te lo date.....
ora bisogna vedere se questo articolo ha fondamento o meno....
se leggi vedi che le richieste sullo stesso dominio vengono eseguite sempre, mentre ci sono delle restrizioni per domini diversi...
----------------------------------------
qui trovi lo script con una sola input text:
file test-ajax2.php
Codice PHP:
<?
$cartella=null;
if ( !empty($_POST['cartella']) ) $cartella=$_POST['cartella'];
$chiama_ajax=false;
if (isset($_POST['chiama_ajax'])) $chiama_ajax=true;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test Ajax 2</title>
</head>
<?
if ($chiama_ajax){
?>
<body onload="chiama_ajax('http://eurosalute.altervista.org/chiama_ajax2.php?id=<?=$cartella?>');">
<?
}
else echo "<body>";
?>
<script type="text/javascript">
// Ottieni la base url
url = document.location.href;
xend = url.lastIndexOf("/") + 1;
var base_url = url.substring(0, xend);
function chiama_ajax(url) {
//Inizia l'url con http?
if (url.substring(0, 4) != 'http') {
url = base_url + url;
}
// Crea un nuovo elemento JS
var jsel = document.createElement('SCRIPT');
jsel.type = 'text/javascript';
jsel.src = url;
//Appende l'elemento JS e quindi esegue la 'chiamata AJAX'
document.body.appendChild (jsel);
//setTimeout('leggodiv()',1000);
}
function leggodiv() {
element = document.getElementById ("contentdiv");
string = element.innerHTML;
alert (string)}
</script>
<br><br>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Verifica Cartella:
<input type="text" name="cartella">
<input type="submit" name="chiama_ajax" onClick="" value="Interroga PHP">
</form>
<br><br>
<div id="contentdiv"></div>
</body>
</html>
file chiama_ajax2.php
Codice PHP:
<?php
$testo = $msg = null;
if (!empty($_GET['id'])) $testo=$_GET['id'];
if ($testo) {
if (is_dir($testo)) $msg="è una cartella";
else $msg="non è una cartella";
}
?>
div = document.getElementById('contentdiv');
div.innerHTML = '<?php echo "Il tuo ID: $testo $msg"; ?>';
leggodiv();
e qui x un test:
http://eurosalute.altervista.org/test-ajax2.php
-
lo provato come hai fatto te sullo stesso hosting funziona, ma se metto lo script con la textarea dentro un altro server non funziona più, ecco dove ho messo lo script http://lnx.webskey.it/chiama_ajax.php che dentro ho messo come prova una cartella 'pannello' con un file index.html dentro scritto <p>hello</p> poi come ho scritto lo script sul mio hosting window che e diverso da quello dove si trova chiama_ajax2.php
Codice PHP:
<?
$cartella=null;
if ( !empty($_POST['cartella']) ) $cartella=$_POST['cartella'];
$chiama_ajax=false;
if (isset($_POST['chiama_ajax'])) $chiama_ajax=true;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test Ajax 2</title>
</head>
<?
if ($chiama_ajax){
?>
<body onload="chiama_ajax('http://lnx.webskey.it/chiama_ajax2.php?id=<?=$cartella?>');">
<?
}
else echo "<body>";
?>
<script type="text/javascript">
// Ottieni la base url
url = document.location.href;
xend = url.lastIndexOf("/") + 1;
var base_url = url.substring(0, xend);
function chiama_ajax(url) {
//Inizia l'url con http?
if (url.substring(0, 4) != 'http') {
url = base_url + url;
}
// Crea un nuovo elemento JS
var jsel = document.createElement('SCRIPT');
jsel.type = 'text/javascript';
jsel.src = url;
//Appende l'elemento JS e quindi esegue la 'chiamata AJAX'
document.body.appendChild (jsel);
//setTimeout('leggodiv()',1000);
}
function leggodiv() {
element = document.getElementById ("contentdiv");
string = element.innerHTML;
alert (string)}
</script>
<br><br>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Verifica Cartella:
<input type="text" name="cartella">
<input type="submit" name="chiama_ajax" onClick="" value="Interroga PHP">
</form>
<br><br>
<div id="contentdiv"></div>
</body>
</html>
-
vorrei solo chiederti questo:
come è configurato il dominio lnx.webskey.it ?
poi hai il file sbagliato -->chiama_ajax2.php
Codice HTML:
<body onload="chiama_ajax('http://lnx.webskey.it/chiama_ajax2.php?id=<?=$cartella?>');">
quando il file è http://lnx.webskey.it/chiama_ajax.php
-
si ora funziona sei un mito della programmazione :-) avevi raggione ora funziona ho rinonimato il file chiama_ajax2.php, cmq al posto di ricevere i messag box potrei ricevere un redirect a 2 pagine del sito ess: www.webskey.it/esiste.html www.webskey.it/nonesiste.html una cosa tipo questa
Codice PHP:
<?php
$testo = $msg = null;
if (!empty($_GET['id'])) $testo=$_GET['id'];
if ($testo) {
if header('Location:http://www.webskey.net/esiste.html');
else header('Location:http://www.webskey.net/nonesiste.html');
}
?>
-
ho modificato lo script per il reindirizzamento alle pagine richieste....
tutte e due i file sono modificati per il corretto funzionamento....
codice file test-ajax2.php:
Codice PHP:
<?
$cartella=null;
if ( !empty($_POST['cartella']) ) $cartella=$_POST['cartella'];
$chiama_ajax=false;
if (isset($_POST['chiama_ajax'])) $chiama_ajax=true;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test Ajax 2</title>
</head>
<?
if ($chiama_ajax){
?>
<body onload="chiama_ajax('http://eurosalute.altervista.org/chiama_ajax2.php?id=<?=$cartella?>');">
<?
}
else echo "<body>";
?>
<script type="text/javascript">
// Ottieni la base url
url = document.location.href;
xend = url.lastIndexOf("/") + 1;
var base_url = url.substring(0, xend);
function chiama_ajax(url) {
//Inizia l'url con http?
if (url.substring(0, 4) != 'http') {
url = base_url + url;
}
// Crea un nuovo elemento JS
var jsel = document.createElement('SCRIPT');
jsel.type = 'text/javascript';
jsel.src = url;
//Appende l'elemento JS e quindi esegue la 'chiamata AJAX'
document.body.appendChild (jsel);
//setTimeout('leggodiv()',1000);
}
function leggodiv() {
element = document.getElementById ("contentdiv");
string = element.innerHTML;
//alert (string)
if (string=="true") window.location="http://www.webskey.net/esiste.html";
else if (string=="false") window.location="http://www.webskey.net/nonesiste.html";
}
</script>
<br><br>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Verifica Cartella:
<input type="text" name="cartella">
<input type="submit" name="chiama_ajax" onClick="" value="Interroga PHP">
</form>
<br><br>
<div id="contentdiv" style="visibility:hidden;"></div>
</body>
</html>
codice file chiama_ajax2.php:
Codice PHP:
<?php
$testo = $msg = null;
if (!empty($_GET['id'])) $testo=$_GET['id'];
if ($testo) {
if (is_dir($testo)) $msg='true';
else $msg='false';
}
?>
div = document.getElementById('contentdiv');
div.innerHTML = '<?=$msg?>';
leggodiv();
x un test:
http://eurosalute.altervista.org/test-ajax2.php
-
woooowwww sei mitico per caso ti andrebbe un amicizia su facebook il mio contato e webskey :-)))