2017-02-16 4 views
0
überein

Ich bin ein Anfänger, wenn es um PHP geht, und ich habe ein Problem gefunden, dass ich die Lösung für nicht finden kann. Ich habe versucht, nach einer relevanten Antwort zu suchen, aber ich habe keine gefunden.Anzeigetext wenn Aussage stimmt mit

Ich habe den folgenden Code in meiner index.php:

<?php if ($set_status = 2) { 
echo 'There is one or more errors'; 
} else { 
echo ''; 
} 
?> 

und dies ein wenig weiter nach unten:

<?php include 'scan/a.php'; ?> 

Und in meinem a.php habe ich den folgenden Code:

<?php 
$a = file_get_contents 
('http://www.a-random-website/text.html', NULL, NULL, 2, 1); 


if ($a == "0") { 

include 'fail.php'; 

} elseif ($a == "1") { 

include 'success.php'; 

} else { 
    echo 'Offline'; 
} 

?> 

Und in meiner fail.php habe ich den folgenden Code:

Also die Idee hier ist, dass "a.php" eine Nummer von der Website holen wird (Die richtige Website hat entweder ["1"] oder ["0"] angezeigt, dass der Code abrufen wird).

Abhängig von dem Ergebnis, das zurückgegeben wird, wird a.php entweder "fail.php" oder "success.php" enthalten, die jeweils eine Erfolgs- oder eine Fehlschlagnachricht enthalten. Wenn file_get_contents eine 0 zurückgibt, möchte ich auch fail.php zu $ ​​set_status = 2; Dies führt dazu, dass "Es gibt einen oder mehrere Fehler" auf der Startseite angezeigt wird (index.php).

Der Grund, dass ich verwende, ist, dass es eine "b.php" und "c.php" und "d.php" und so weiter geben wird, alle das Gleiche tun, aber Daten von verschiedenen Seiten abrufen . Ich möchte, dass die Erfolgs- oder Fehlschlagnachricht einfach zu bearbeiten bleibt, ohne dass jede neue x.php-Datei bearbeitet werden muss.

So hier ist, wo es problematisch wird. Alles funktioniert wunderbar, außer der "Es gibt eine oder mehrere Fehler" -Message, die ausgelöst werden soll, wenn ($ set_status = 2).

Ich kann so weit wie die Nachricht zeigen, aber wenn ich die 1 und 0 in "a.php" (Um ein bestimmtes Ergebnis zu simulieren) die Meldung wird immer noch angezeigt. Ich kann es nicht herausfinden.

Also meine Frage ist: Was habe ich falsch gemacht, und was ist der richtige Weg, es zu tun?

Vielen Dank im Voraus!

Mit freundlichen Grüßen, Marc

+0

geh mit ($ setstatus == 2) zustand im vergleich dann bekommst du .. – Sona

+3

du bist Verwenden Sie '=' anstelle von '==' in Ihrer 'if' Anweisung. – ShiraNai7

+0

Ich glaube, $ set_status in index.php ist nicht wert und echo statement ist auch leer also endlich leere seite .... muss einige vaue an $ set_status in index.php übergeben –

Antwort

1

Verwendung == Betreiber in index.php

<?php if ($set_status == 2) { 
echo 'There is one or more errors'; 
} else { 
echo ''; 
} 
?> 
1
<?php if ($set_status ==2) { 
echo 'There\'s one or more errors'; 
} else { 
echo ''; 
} 
?> 

einfach diesen Code ändern ... siehe \ Slash zu vergleichen und == in der Echolinie .. sonst deiner code id fein