Avatar billede anderseiler Nybegynder
02. februar 2005 - 20:39 Der er 5 kommentarer og
1 løsning

Enten/eller script

Heej.. Jeg har arbjedet på et script i 8 timer nu, og jeg kan bare ikke få det til at virke (er så heller ikke den skarpeste kniv i skuffen med PHP endnu :)) Men mit script ser sådan ud:

<?php
$inavn == include( "navn.php" );
$idomain == include( "domain.php" );
?>
<html>
<head>
<title>Unknown titel</title>
</head>
<body>

<?php

//sikrer navn.php kun bliver inkluderet en gang
function vertify_navn($vertify_navn) {
    if ($inavn) {
        return true;
    } else {
        return false; } }

//sikrer domain.php kun bliver inkluderet en gang
function vertify_domain($vertify_domain) {
    if ($idomain) {
        return true;
    } else {
        return false; } }

//sikrer domain.php ikke bliver inkluderet hvis navn.php gør
function only_one($only_one) {
    if ($inavn) {
        return true;
    } else {
        return false; } ;}

//navn
if (empty($navn)) {
    if (vertify_navn == false) { include( "navn.php" ); } }

if (!empty($vnavn)) { if ($vertify_domain == false) {if ($only_one == true) { echo $idomain; }}}

//virksomhed navn
if (empty($vnavn)) {
    if (vertify_navn == false) { include( "navn.php" ); } }

if (!empty($vnavn)) { if ($vertify_domain == false) {if ($only_one == true) { echo $idomain; }}}

//adresse
if (empty($adresse)) {
    if (vertify_navn == false) { include( "navn.php" ); } }

if (!empty($adresse)) { if ($vertify_domain == false) {if ($only_one == true) { echo $idomain; }}}
       
?>

</body>
</html>

Det går ud på, at hvis der står noget i $navn, $vnavn og $adresse på samme tid, så skal man videre til domain.php. Men hvis én/flere ikke er udfyldt, skal man kun se navn.php (og den skal selvfølgelig kun inkluderes én gang uanset hvor mange ikke udfyldt felter der er). Man udfylder dem forresten i navn.php :)..

Men det der sker med overstående script er, at hvis man udfylder alle felter, så viser den både navn.php, og så domain.php neden under..? Den gør det samme, hvis man udfylder 1 eller 2 af felterne. Har en mistanke om at det er den funktion som hedder only_one som den er gal med.. Men er der ikke en som har en løsning? Skriv hvis jeg ik har forklaret ordenligt..!
Avatar billede alister_crowley Nybegynder
02. februar 2005 - 20:42 #1
$inavn == include( "navn.php" );
$idomain == include( "domain.php" );

^^ forkert syntakst, det er umuligt.

www.php.net/include
Avatar billede anderseiler Nybegynder
02. februar 2005 - 21:05 #2
Det virker nu ellers fint nok..

anders.gameplan.dk/forstetest.php er et bevis jeg lige har lavet for din skyld :) Bare for at bevise, at det virker. Men det kommer selvfølgelig an på hvilken del af det, du siger ikke virker. Hvis det er den her del:

include( "navn.php" );

som du siger ikke virker, så tager du fejl..
Hvis det derimod er den her del:

$inavn == include .....

så har du muligvis ret.. Hvilken mener du?? :)
Avatar billede alister_crowley Nybegynder
02. februar 2005 - 21:08 #3
altså... din include vil blive udført, men resten er noget vrøvl der ikke findes.
læs selv dokumentationen.

include('filnavn.php'); henter alt indholdet af filnavn.php ind i det dokument hvor linjen, står.

og du kan ikke sætte indholdet af en includet fil ind i en variablen, men du kan bruge variabler fra det includet dokument.

$inavn = include("navn.php"); er meget ukorrekt php.
Avatar billede anderseiler Nybegynder
02. februar 2005 - 21:30 #4
Jeg kan så tilføje, at hvis jeg erstatter $inavn og $idomain med henholdsvis include( "navn,php) og include( "domain.php" )  så vil den ikke vist noget som helst.. Men har nok opbygget det forkert?
Avatar billede alister_crowley Nybegynder
04. februar 2005 - 20:29 #5
atlså... prøv at skrive dem korrekt

include('navn.php'); // henter alt fra navn.php ind
include('domain.php'); // henter alt fra domain.php ind

Og ja, din kode er underlig, og strukturen er dårlig.
Avatar billede anderseiler Nybegynder
09. februar 2005 - 21:56 #6
Har funder en simpel måde at gøre det på..

bruge elseif..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester