i.p.v. "file" "url"

  • Onderwerp starter Onderwerp starter hanna
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

hanna

Gebruiker
Lid geworden
8 sep 2000
Berichten
966
Als ik dit gebruik met bestanden werkt dat prima, maar is er ook zoiets met URL's ???

<?php if (file_exists("test.php")) {
echo '<p><a href="test.php">Test</a></p>';
} else {
echo '<p>Test is nog niet af</p>';
} ?>
 
Nou, ik zal wel scheel zijn, maar ik zie het niet, ik was er al eerder, om te zoeken.
 
Ik zag jou verhaal over superglobals, nu wil ik je wat vragen, ik heb van de week een heftige discussie gehad met mijn host die ook zijn register_globals off heeft staan, waardoor ik een ouder script van een gastenboek niet kan gebruiken, ze zeiden dit:

Op onze servers hebben we <b><i>register_globals</i></b> uitgeschakeld. Deze instelling gaat de waardes die ingevuld zijn in het formulier doorsturen naar een variabele. Dit is een veiligheidsmaatregel, omdat hackers hiervan gebruikmaken om zo de variabele op te vangen. Dit heeft wel als gevolg dat je de variabele zelf moet opvangen uit de POST array. Je kunt dit doen met onderstaande code: <b><i>$naam = $_POST['naam'];</i></b> Deze code moet je voor alle velden voorzien in jouw formulier. Dit geldt ook voor variabele die je opgeeft in de url. Hiervoor gebruik je dan de GET array: <b><i>$naam = $_GET['naam'];</i></b>. Als het niet helemaal duidelijk is, dan kan ik je wel een mooi voorbeeld bezorgen.

Ik schrijf hierop dat het volgens mij zo niet werkend is te krijgen, toen hun weer dit:

Je kunt het script zeker aanpassen dat het gaat werken met de register_globals uitgeschakeld.
Speciaal voor jou hebben we een mooi voorbeeld uitgewerkt, dat alle variabelen uit de $_POST array gaat opvangen.

Dit dus:
<?php

// All fields of the form are declared here,
// for varables in the adressbar you should use $_GET.
$email = $_POST['email'];
$realname = $_POST['realname'];
$phone = $_POST['phone'];
$field_1 = $_POST['field_1'];
$field_2 = $_POST['field_2'];

// Show all in a table.
print "<table border=1>";
print "<tr><th align='left'>email</th><td>$email</td></tr>";
print "<tr><th align='left'>realname</th><td>$realname</td></tr>";
print "<tr><th align='left'>phone</th><td>$phone</td></tr>";
print "<tr><th align='left'>field_1</th><td>$field_1</td></tr>";
print "<tr><th align='left'>field_2</th><td>$field_2</td></tr>";
print "</table>"

?>

Wat volgens mij dus niet gaat in mijn gastenboek.
Ik baal hier echt van want bij andere hosts, werkt het prima, maar daar kan ik een htaccess uploaden, maar bij mijn host werkt het niet, dan krijg ik een error site.
En verder krijg ik geen antwoord meer, ook niet waarom ik geen htaccess kan gebruiken.

Ik ben een beginneling in php, dus kom er verder niet meer uit.
Zou je ernaar willen kijken????
 
Welke host is dat ? Hij is nou al één van m'n favoriete hosts ooit. Ik ben het namelijk ook 100% met hen eens dat ze register_globals uit hebben gezet en als je script niet werkt met deze configuratie, dan is je script simpelweg (om het even heel lomp uit te drukken) bagger.

En bij jouw gastenboek is ongetwijfeld ook gewoon aanpasbaar, ik ga het niet voor je doen, daar leer je minder / niets van. Op deze pagina staat echter wel een prachtig voorbeeldje over hoe je het kan doen :)

Zelf heb ik trouwens het probleem dat één van mijn hosters weigert die register_globals uit te schakelen, dan krijgen ze namelijk te veel klachten van hun klanten (claimen ze). Ondertussen helpen ze hier eigenlijk niemand mee, ze laten de nieuwe PHP-generatie alleen maar doorgaan met hun ranzige scriptingtechnieken.

Overigens zie ik dat commentaar bij file_exists() ook niet meer staan :confused: Zal 'm ff opzoeken ! Found it > *klik*, misschien kom je daar verder mee :)

Succes d'r verder mee :)
 
Laatst bewerkt:
Bedankt voor je linken, Jpeetje, ik ga er mee aan de slag.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan