[OPGELOST] probleem met externe php

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
User avatar
erpee
Power Poster
Power Poster
Posts: 771
Joined: Sat Jul 07, 2007 9:22 am

[OPGELOST] probleem met externe php

Post by erpee »

Ik roep in mij site een externe php aan zoals beschreven in dit stuk.

Dat gaat allemaal goed ... tot op zekere hoogte.
Het gaat hier om een whois bestand. Op het moment dat ik een domeinnaam laat controleren, komen de resultaten niet in beeld maar gaat de site naar de startpagina.

Wat mis ik.
Last edited by erpee on Fri Oct 16, 2009 6:07 am, edited 1 time in total.
Waarom zou het direct goed moeten gaan? Dan is alle lol weg ...
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: probleem met externe php

Post by Jos »

Om hoeveel php code gaat het? Is het een systeem wat uit meerdere bestanden bestaat, of gewoon een stukje code.

Ik beheer zelf een site waar ik een complete wedstrijdkalender van de site van de sportbond trek en op de verenigingssite laat zien, met eigen opmaak.
Deze code is gewoon in een UDT geplakt zonder de config te hoeven aanpassen en dus zonder de {php} smarty tag.
User avatar
erpee
Power Poster
Power Poster
Posts: 771
Joined: Sat Jul 07, 2007 9:22 am

Re: probleem met externe php

Post by erpee »

Jos wrote: Om hoeveel php code gaat het?
Het is 1 klein php bestand. Ik heb getracht het in een udt te hangen ... maar dat kreeg ik niet voor elkaar. (Dat zegt meer over mijn snap-vermogen van UDT's  ;D)

Dit is de code:

Code: Select all

<?php
ob_start();
?>
<__html>

<head>
  <title>wTol. ~ Whois</title>
  <style>
  body, td, input {
    font-family: verdana;
    font-size: 11px;
  }

  form {
    margin: 0px;
  }

  a {
    color: black;
    text-decoration: none;
  }
  </style>
</head>

</__body>

<?php
$whois = array();
$whois['nl']   = array("whois.domain-registry.nl", 43, "{domein}.nl", "is free");
$whois['be']   = array("whois.dns.be", 43, "{domein}", "FREE");
$whois['com']  = array("whois.nsiregistry.net", 43, "{domein}.com", "No match for");
$whois['net']  = array("whois.nsiregistry.net", 43, "{domein}.net", "No match for");
$whois['org']  = array("whois.publicinterestregistry.net", 43, "{domein}.org", "NOT FOUND");
$whois['info'] = array("whois.afilias.info", 43, "{domein}.info", "NOT FOUND");
$whois['biz']  = array("whois.biz", 43, "{domein}.biz", "Not found:");
$whois['nu']   = array("whois.nic.nu", 43, "{domein}.nu", "NO MATCH");

function whois($whois)
{
    list ($server, $poort, $domein, $vrij) = $whois;
    $domein = str_replace("{domein}", $_GET['domein'], $domein);

    $fp = fsockopen($server, $poort);

    if($fp)
    {
        fputs($fp, $domein."\r\n");

        while(!feof($fp))
        {
            $data .= fread($fp, 1000);
        }

        fclose($fp);
    }
    else
    {
        $data = "error";
    }

    return $data;
}

if ($_REQUEST['submit'])
{
    header("location:?domein=".$_POST['domein']);
}
elseif (!empty($_GET['domein']))
{
    if (!empty($_GET['ext']))
    {
        echo "<pre>".whois($whois[$_GET['ext']])."</pre>".
        "<br>".
        "» <a href="?domein=".$_GET['domein']."">Terug</a>";
    }
    else
    {
        echo "<table>".
        "<tr>".
        "<td><u>Domeincheck:</u></td>".
        "<td> </td>".
        "</tr>";

        foreach ($whois as $ext => $value)
        {
            list ($server, $poort, $domein, $vrij) = $value;

            $data = whois($value);

            if (!ereg($vrij, $data))
            {
                $status = "<a href="?domein=".$_GET['domein']."&ext=".$ext.""><font color="red">bezet</font></a>";
            }
            elseif ($data == "error")
            {
                $status = "<font color="red">error</font>";
            }
            else
            {
                $status = "<font color="darkgreen">vrij</font>";
            }

            echo "<tr>".
            "<td>".$_GET['domein'].".".$ext."</td>".
            "<td align="right">".$status."</td>".
            "</tr>";
        }

        echo "</table>".
        "<br>".
        "» <a href="whois.php">Terug</a>";
    }
}
else
{
?>
<form method="post">
<table>
  <tr>
    <td>Domeinnaam zonder extensie:</td>
    <td><input type="text" name="domein"></td>
  </tr>
  <tr>
    <td> </td>
    <td><input type="submit" name="submit" value="Controleer!"></td>
  </tr>
</table>
</form>
<?php
}
?>

<__body>

</__html>
Waarom zou het direct goed moeten gaan? Dan is alle lol weg ...
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: probleem met externe php

Post by Jos »

Die if $_REQUEST['submit'] zal de boosdoener zijn. Volgens mij heb je daar een vooroorlogse php versie voor nodig   ;)

Maar hier heb je de code die je in een UDT kan plakken. Het enige wat je nog moet doen is de terug-link van een juiste url voorzien.

Bij mij werkt ie. Dwz. hij geeft resultaten, maar ik twijfel aan de correctheid ervan  8)

Code: Select all

ob_start();

$whois = array();
$whois['nl']   = array("whois.domain-registry.nl", 43, "{domein}.nl", "is free");
$whois['be']   = array("whois.dns.be", 43, "{domein}", "FREE");
$whois['com']  = array("whois.nsiregistry.net", 43, "{domein}.com", "No match for");
$whois['net']  = array("whois.nsiregistry.net", 43, "{domein}.net", "No match for");
$whois['org']  = array("whois.publicinterestregistry.net", 43, "{domein}.org", "NOT FOUND");
$whois['info'] = array("whois.afilias.info", 43, "{domein}.info", "NOT FOUND");
$whois['biz']  = array("whois.biz", 43, "{domein}.biz", "Not found:");
$whois['nu']   = array("whois.nic.nu", 43, "{domein}.nu", "NO MATCH");

function whois($whois)
{
    list ($server, $poort, $domein, $vrij) = $whois;
    $domein = str_replace("{domein}", $_GET['domein'], $domein);

    $fp = fsockopen($server, $poort);

    if($fp)
    {
        fputs($fp, $domein."\r\n");

        while(!feof($fp))
        {
            $data .= fread($fp, 1000);
        }

        fclose($fp);
    }
    else
    {
        $data = "error";
    }

    return $data;
}

if ($_SERVER['REQUEST_METHOD']=='POST' && !empty($_POST['domein']))
{
    if (!empty($_POST['ext']))
    {
        echo "<pre>".whois($whois[$_POST['ext']])."</pre>".
        "<br>".
        "» <a href=\"?domein=".htmlspecialchars($_POST['domein'])."\">Terug</a>";
    }
    else
    {
        echo "<table>".
        "<tr>".
        "<td><u>Domeincheck:</u></td>".
        "<td> </td>".
        "</tr>";

        foreach ($whois as $ext => $value)
        {
            list ($server, $poort, $domein, $vrij) = $value;

            $data = whois($value);

            if (!ereg($vrij, $data))
            {
                $status = "<a href=\"?domein=".htmlspecialchars($_POST['domein'])."&ext=".$ext."\"><font color=\"red\">bezet</font></a>";
            }
            elseif ($data == "error")
            {
                $status = "<font color=\"red\">error</font>";
            }
            else
            {
                $status = "<font color=\"darkgreen\">vrij</font>";
            }

            echo "<tr>".
            "<td>".$_POST['domein'].".".$ext."</td>".
            "<td align=\"right\">".$status."</td>".
            "</tr>";
        }

        echo "</table>".
        "<br>".
        "» <a href=\"whois.php\">Terug</a>";
    }
}
else
{
echo '
<form method="post">
<table>
  <tr>
    <td>Domeinnaam zonder extensie:</td>
    <td><input type="text" name="domein"></td>
  </tr>
  <tr>
    <td> </td>
    <td><input type="submit" name="submit" value="Controleer!"></td>
  </tr>
</table>
</form>
';
}
Last edited by Jos on Thu Oct 15, 2009 9:18 pm, edited 1 time in total.
User avatar
erpee
Power Poster
Power Poster
Posts: 771
Joined: Sat Jul 07, 2007 9:22 am

Re: probleem met externe php

Post by erpee »

Klopt, hij werkt. Dank je voor je hulp!

Ik was er al achter dat niet alle resultaten kloppen ... da's de volgende klus om dat recht te breien.  ;)
Waarom zou het direct goed moeten gaan? Dan is alle lol weg ...
Post Reply

Return to “Dutch - Nederlands”