Just nu i M3-nätverket
Gå till innehåll

PHP-problem hos B-one...


creamyvanilla

Rekommendera Poster

creamyvanilla

Jag vill ha en meny på den websida jag håller på att bygga, som senare ska läggas upp på mitt webhotell hos B-One. För att slippa ändra i alla filer vid ändring i menyn, vill jag använda ett script som jag vet har fungerat tidigare. Har testat och testat och testat, men nu vägrar det fungera!! Vad gör jag för fel?

 

Såhär ser koden ut där menyn ska ligga:

<div id="meny">
<p><?[color="#0000ff"]php[/color] [color="#0000ff"]include[/color]("http:[color="#006400"]//www.domän.nl/meny.php"); ?></p></div>[/color]

 

Och meny.php ser ut såhär:

<?	[color="#0000ff"]if[/color] ([color="#0000ff"]$[/color]_GET['mode'] == "links"){
?>

<a href="1.[color="#0000ff"]php[/color]">Menypost</a><br>
<a href="2.[color="#0000ff"]php[/color]">Menypost</a><br>
<a href="3.[color="#0000ff"]php[/color]">Menypost</a>

<?	}
[color="#0000ff"]else[/color] {
[color="#ff0000"]srand[/color](([color="#0000ff"]double[/color])[color="#ff0000"]microtime[/color]()*1000000); 
$arry_txt = [color="#ff0000"]preg_split[/color]("/--n--/", [color="#ff0000"]join[/color]('', [color="#ff0000"]file[/color]("http:[color="#006400"]//www.domän.nl/meny.php?mode=links"))); [/color]
[color="#0000ff"]echo[/color] $arry_txt[[color="#ff0000"]rand[/color](0, [color="#ff0000"]sizeof[/color]($arry_txt) -1)]; 
}
?>

 

Har testat på ett annat webutrymme (som jag av olika anledningar inte vill använda) och det fungerar. Men det fungerar inte hos B-One. Vad är fel? Ligger det hos mig, eller hos webhotellet? Är det någon annan som haft samma problem?

 

Har även testat med SSI som inte heller fungerar.

 

När filerna är upplagda på webhotellet och jag tittar på källkoden, visas bara

<div id="meny"><p></p></div>

och meny.php blir helt blank, i koden syns bara HTML- och BODY-taggarna.

 

Länk till kommentar
Dela på andra webbplatser

Vad händer om du ändrar adressen till skriptet till endast "meny.php" (förutsätter att det nu ligger i kontots rotkatalog)?

 

Länk till kommentar
Dela på andra webbplatser

Kan du köra scriptet separat, dvs har du testat att titta på enbart meny.php i webbläsaren?

 

Länk till kommentar
Dela på andra webbplatser

Från PHP-dokumentationen:

 

If "URL fopen wrappers" are enabled in PHP (which they are in the default configuration), you can specify the file to be included using a URL (via HTTP or other supported wrapper - see Appendix L for a list of protocols) instead of a local pathname

 

Det kanske är så att detta inte är aktiverat på B-ONE. De vill nog inte att du ska använda filer på andra konton. Gäller för både include och file. Eller låg filen på ditt konto, och du testade med bara filnamnet i både include och file?

 

Länk till kommentar
Dela på andra webbplatser

creamyvanilla

Har testat och sidan blir blank. Bara HTML- och BODY-taggarna syns i källan. Inget annat. Det är som att servern plockar bort alla PHP-taggar i min kod.

 

Länk till kommentar
Dela på andra webbplatser

Tittar du på sidan via webbläsare ser du ju ingen kod - den har ju körts. Men visar den ingen output heller verkar det ju vara fel på den sidan. Kanske bäst att du visar oss den koden istället.

 

Länk till kommentar
Dela på andra webbplatser

Tittar du på sidan via webbläsare ser du ju ingen kod - den har ju körts.

Jo precis, min tanke var dock att kontrollera källkoden om den innehåller några php-felmeddelanden.

 

Länk till kommentar
Dela på andra webbplatser

Jo, det är klart.

 

creamyvanilla: Jag läste visst inte ditt inlägg så noga. Ser nu att du försöker skicka med en variabel (model = links). Detta fungerar vad jag vet inte via include-anrop.

 

Fast det borde ju fungera om du gör ett http-anrop som du gör... Kanske bäst att inte lita på att det alltid fungerar iaf.

 

 

[inlägget ändrat 2005-10-02 23:07:50 av m a r c u s]

Länk till kommentar
Dela på andra webbplatser

creamyvanilla

*klia sig i huvudet* Men ändå fungerar det på det andra webutrymmet?

 

Finns det något annat sätt att formulera sig i koden för att få menyn att visa sig?

 

Länk till kommentar
Dela på andra webbplatser

creamyvanilla

Menyn ska visas på samtliga sidor där

<div id="meny">
<p><?[color="#0000ff"]php[/color] [color="#0000ff"]include[/color]("http:[color="#006400"]//www.domän.nl/meny.php"); ?></p></div>[/color]

ligger. Som SSI, men med PHP, för att slippa ändra på alla sidor när jag ska ändra i menyn.

 

Och det webutrymme där sidan ligger korrekt och fungerande (93.to) vill jag inte använda av olika anledningar...

 

Länk till kommentar
Dela på andra webbplatser

creamyvanilla

Det här visas (från http://www.creamyvanilla.nl/enhet/lipsum.php):

<div id="meny">
<p></p></div>

 

Mn såhär ska det se ut (från http://93.to/~93/test/lipsum93.php):

<div id="meny"><p>
<b>Rubrik</b><br>
<a href="1.[color="#0000ff"]php[/color]">[color="#ff0000"]link[/color]</a><br>
<a href="2.[color="#0000ff"]php[/color]">[color="#ff0000"]link[/color]</a><br>
<a href="3.[color="#0000ff"]php[/color]">[color="#ff0000"]link[/color]</a>
</p></div>

 

Länk till kommentar
Dela på andra webbplatser

Varför inte bara skriva dina a-taggar, och inget annat, i meny-filen? Använd @include om du vill undertrycka felmeddelanden.

 

Länk till kommentar
Dela på andra webbplatser

kan vara så också att B-one kör med PHP 4.4.0 eller vad det senaste heter. Min sida på surftown slutade funka när de uppdaterade till senaste PHP. Jag fick då ta bort nåt dollartecken i ett script så funkade det.

 

Kolla om det kan ha med det att göra...

 

Länk till kommentar
Dela på andra webbplatser

creamyvanilla
Varför inte bara skriva dina a-taggar, och inget annat, i meny-filen?

Nu ser jag iaf. innehållet i meny.php i browsern, trots filändelsen .php, men menyn visas fortfarande inte på sidan.

 

Länk till kommentar
Dela på andra webbplatser

Välkommen till Eforum! Bra val! :thumbsup:

 

 

 

1.

 

Om alla filerna ligger på samma konto, och samma webbserver, så skulle jag använda relativa sökvägar:

 

include("meny.php");

istället för

 

Det finns ingen anledning att använda en absolut sökväg (med hela URI).

 

2.

 

Sedan finns det andra konstigheter jag faktiskt inte riktigt förstår!

 

I meny.php visar du tre länkar om användaren skickar med argumentet/variabeln mode som ska vara links. Om användaren inte skickar med argumentet så ska meny.php "fetcha" (infoga) sig själv med det saknade argumentet. Det är slöseri med processorcykler och logiskt väldigt konstigt. Varför inte istället se till att användaren (du!) alltid skickar med argumentet istället?

 

Om det där är hela innehållet i meny.php så behöver du inte ens ha IF-satserna. Den visar ju samma sak, oavsett vilket argument du skickar....

 

_________

TicoRoman - Anfall är bästa försvar

 

 

 

[inlägget ändrat 2005-10-03 05:07:45 av TicoRoman]

Länk till kommentar
Dela på andra webbplatser

creamyvanilla

Tack. :)

 

Har testat relativa sökvägar. Fungerar inte.

 

En .php-fil med enbart a-taggar ser jag i webbrowsern (eftersom a-taggarna är HTML), men den infogas inte i dokumentet. Har således testat att fippla med meny-php utan större framgång. Webhotellet verkar oavsett klippa bort allt som är PHP-kod, vilket ju inkluderar den enda rad i dokumentet där menyn ska visas.

 

(Det är ett lånat script, egentligen till för att randomiza länkar, därför all den överflödiga koden.)

 

Länk till kommentar
Dela på andra webbplatser

Creamyvanilla: Har exakt samma problem, surfade hit för att se om jag hade tur och kunde hitta något liknande...

 

Mitt fall ser ut som följer:

Har följt ett övningsexempel för att skapa html-formulär, datan från detta skickas medelst POST till ett PHP-script som dels visar vad man skrivit (ett slags preview är det väl tänkt), dels kopplar upp mot MySQL och sparar datan i en tabell.

 

Har visserligen modifierat övningen litegrann med avseende på innehåll, dock ej ändrat någon funktionalitet, och har försökt felsöka utan framgång.

 

När jag laddar upp html-sidan (med formuläret) samt php-filen till b-one och fyller i formuläret samt klickar på "submit" transporteras jag som förväntat till Php-sidan. Dock består denna enbart av html, head och body-taggar, inte ett spår av något annat, inget felmeddelande ang. kod, nada.

 

Hilfe! Vi får väl kontakta b-one och kolla vad som händer? Min kod innehåller inte heller några konstiga hänvisningar till andra domäner eller nåt annat. Bara POST-data och MySQL-kopplingen, som är identisk med övningsexemplet. Har kollat tabellen via PHPMyadmin, ingen data hamnar där heller.

 

MVH,

Emil

 

EDIT: Kollade in en annan sida med ett gäng php-includes som jag lagt upp för ett tag sen (också på b-one), den funkar fint.... Fortfarande samma problem med den andra dock.

 

[inlägget ändrat 2005-10-06 14:58:36 av johndear]

Länk till kommentar
Dela på andra webbplatser

Bara POST-data och MySQL-kopplingen, som är identisk med övningsexemplet.
Övningsexemplet kan vara gammalt. Länk?

 

_________

TicoRoman - Anfall är bästa försvar

 

Länk till kommentar
Dela på andra webbplatser

TicoRoman: Exemplet jag (nästan) följde är från en e-bok om PHP 4 och MySQL... Borde väl inte vara för gammalt (Tror den är från 2004 eller 2005)? Jag får ta tummen ur och klistra in koden vid tillfälle. Reser bort i eftermiddag, tillbaka på måndag, då blir det till att felsöka. Tack för hjälpen dock!

/e

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...