php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Sonstiges > Archiv / Trash
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


Archiv / Trash Hier findet ihr alles, was aus anderen Foren verschoben wurde, weil es inhaltlich in keines der anderen Foren passt.

 
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 12-09-2014, 19:46
phpdblernen
 Registrierter Benutzer
Links : Onlinestatus : phpdblernen ist offline
Registriert seit: Sep 2014
Beiträge: 1
phpdblernen befindet sich auf einem aufstrebenden Ast
Standard If schleife funktioniert nicht

guten abend
ich bin neu hier und habe bereits eine frage.

ich bin an einer domainsuche am bauen, soweit gehts, nun habe ich ein problem mit der if schleife.

Ich habe eine Abfrage aus einer DB. Die funktioniert, wenn ich sie zu oberst hin platziere. Platziere ich sie aber an die stelle wo jetzt "hier sllte xxxx stehen", so funktioniert der ganze script nicht mehr. kann mir ev. jemand sagen warum.

Ansicht des ergebnis http://test.sonne.goip.de/index.php

Preisabfrage:
PHP-Code:
$SQL0 "SELECT * FROM dsp where (dscode like '$tld')";
$SQL0R odbc_exec($conn$SQL0);
while(
$SQL0Z odbc_fetch_array($SQL0R)) 
{
echo 
$SQL0Z["dendung"];
echo 
$SQL0Z["dpreis"];

funktionierender script
PHP-Code:
<html><body><table border="0"><tr><td width="140">Domain</td><td width="70">Status</td><td>Info</td></tr>
<?php
include_once("servers.php");
$domain $_POST['domain'];
$tld $_POST['tld'];
$_DSN ="dbserver";
$_User "dbuser";
$_PW "dbpass";
$conn odbc_connect($_DSN$_User$_PW) or die("Verbindung fehlgeschlagen");
$SQL0 "SELECT * FROM dsp where (dscode like '$tld')";
$SQL0R odbc_exec($conn$SQL0);
while(
$SQL0Z odbc_fetch_array($SQL0R)) 
{
echo 
$SQL0Z["dendung"];
echo 
$SQL0Z["dpreis"];
}
if(!
headers_sent())
    
header("Content-Type: text/html; charset=UTF-8");
if(!isset(
$_SESSION))
    
session_start();
function 
check_domain($domain$tld$whoisserver)
{
    
$fp = @fsockopen($whoisserver43$errno$errstr5);
    if(!
$fp)
        return 
"<strong>Fehler</strong><br />".$errstr." (".$errno.")\n";
    else
    {
        if(
$tld != "de" && !preg_match("/^[a-zA-Z0-9-]*$/"$domain))
        {
            try
            {
                require_once(
"idna2.php");
                
$idn Net_IDNA2::getInstance();
                
$domain $idn->encode($domain);
            }
            catch(
Exception $e)
            {
                return 
"<strong>Fehler</strong><br />".$e->getMessage()."\n";
            }
        }
        
$flag "";
        if(
$tld == "de")
            
$flag "-T dn ";
        
fwrite($fp$flag.$domain.".".$tld."\r\n");
        
$string "";
        while(!
feof($fp))
            
$string .= fread($fp128);
        
fclose($fp);
        return 
$string;
    }
}
if(!
preg_match("/^[^_\.\/]{1,}$/"$domain))
    echo 
"<span class=\"error\">\nung&uuml;ltiger Domainname</span>\n";
else
{
    function 
print_domain($domain$tld$whoisservers)
    {
        global 
$limit_exceeded;
        
$status_free "not found|no match|nothing found|not have an entry|status: available|is free|status: free|no entries|no such domain";
        
$status_invalid "status: invalid|invalid pattern|not a valid domain|invalid request|not understand the query|";
        
$status_invalid .= "error for|invalid domain|invalid characters|idn unsupported|unassignable|currently restricted|not allowed|invalid parameter";
        
$status_limit "limit exceeded";

        
$string check_domain($domain$tld$whoisservers[$tld]);
        
preg_match_all("/Whois Server: (.*?)\n/i"$string$matches);
        if(isset(
$matches[1][0]) && trim($matches[1][0]) != "")
            
$string check_domain($domain$tld$matches[1][0]);
        if(
preg_match("/Fehler/"$string))
        {
            echo 
"<tr><td width=\"1400\">".$domain.".".$tld."</td><td width=\"70\" class=\"error\">Fehler</td>";
            echo 
"<td><a href=\"popup.php?tld=".$tld."\" onclick=\"window.open('popup.php?tld=".$tld."','Details','width=800,height=600,scrollbars=yes'); return false\">Details</a></td>";
            echo 
"</tr>\n";
            
$_SESSION['details'][$tld] = $string;
        }
        else
        {
            if(
preg_match("/".$status_free."/i"preg_replace("/\s\s+|\t/"" "$string)))
                echo 
"<tr><td width=\"140\">".$domain.".".$tld."</td><td width=\"70\"class=\"success\">ist frei!</td><td>\n";
                if (
$tld =='at') echo 'hier sollte at22.90 stehen';
            elseif(
preg_match("/".$status_invalid."/i"$string))
                echo 
"<tr><td width=\"140\">".$domain.".".$tld."</td><td width=\"70\" class=\"error\">ung&uuml;ltig</td></tr>\n";
            elseif(
preg_match("/".$status_limit."/i"$string))
            {
                echo 
"<tr><td width=\"140\">".$domain.".".$tld."</td><td width=\"70\" class=\"error\">Abfragelimit erreicht *</td></tr>\n";
                
$limit_exceeded true;
            }
            else
            {
                echo 
"<tr><td width=\"140\">".$domain.".".$tld."</td><td width=\"70\" class=\"error\">ist belegt</td><td>";
                echo 
"<a href=\"popup.php?tld=".$tld."\" onclick=\"window.open('popup.php?tld=".$tld."','Details','width=800,height=600,scrollbars=yes'); return false\">Inhaber ist</a>";
                echo 
"</td></tr>\n";
                
$_SESSION['details'][$tld] = "<pre>\n".$string."</pre>";
            }
        }
    }
    
$limit_exceeded false;
    echo 
"<table class=\"list\">\n";
    if(
$tld == "all")
    {
        foreach(
$whoisservers as $tld_ => $value)
            
print_domain($domain$tld_$whoisservers);
}
    else
        
print_domain($domain$tld$whoisservers);
    echo 
"</table>\n";
    if(
$limit_exceeded)
        echo 
"<span>(* Bitte versuchen Sie es in ein paar Minuten erneut)</span>\n";
}
?>
</table><body><html>

nicht funktionierender script
PHP-Code:
<html><body><table border="0"><tr><td width="140">Domain</td><td width="70">Status</td><td>Info</td></tr>
<?php
include_once("servers.php");
$domain $_POST['domain'];
$tld $_POST['tld'];
$_DSN ="dbserver";
$_User "dbuser";
$_PW "dbpass";
$conn odbc_connect($_DSN$_User$_PW) or die("Verbindung fehlgeschlagen");
if(!
headers_sent())
    
header("Content-Type: text/html; charset=UTF-8");
if(!isset(
$_SESSION))
    
session_start();
function 
check_domain($domain$tld$whoisserver)
{
    
$fp = @fsockopen($whoisserver43$errno$errstr5);
    if(!
$fp)
        return 
"<strong>Fehler</strong><br />".$errstr." (".$errno.")\n";
    else
    {
        if(
$tld != "de" && !preg_match("/^[a-zA-Z0-9-]*$/"$domain))
        {
            try
            {
                require_once(
"idna2.php");
                
$idn Net_IDNA2::getInstance();
                
$domain $idn->encode($domain);
            }
            catch(
Exception $e)
            {
                return 
"<strong>Fehler</strong><br />".$e->getMessage()."\n";
            }
        }
        
$flag "";
        if(
$tld == "de")
            
$flag "-T dn ";
        
fwrite($fp$flag.$domain.".".$tld."\r\n");
        
$string "";
        while(!
feof($fp))
            
$string .= fread($fp128);
        
fclose($fp);
        return 
$string;
    }
}
if(!
preg_match("/^[^_\.\/]{1,}$/"$domain))
    echo 
"<span class=\"error\">\nung&uuml;ltiger Domainname</span>\n";
else
{
    function 
print_domain($domain$tld$whoisservers)
    {
        global 
$limit_exceeded;
        
$status_free "not found|no match|nothing found|not have an entry|status: available|is free|status: free|no entries|no such domain";
        
$status_invalid "status: invalid|invalid pattern|not a valid domain|invalid request|not understand the query|";
        
$status_invalid .= "error for|invalid domain|invalid characters|idn unsupported|unassignable|currently restricted|not allowed|invalid parameter";
        
$status_limit "limit exceeded";
        
$string check_domain($domain$tld$whoisservers[$tld]);
        
preg_match_all("/Whois Server: (.*?)\n/i"$string$matches);
        if(isset(
$matches[1][0]) && trim($matches[1][0]) != "")
            
$string check_domain($domain$tld$matches[1][0]);
        if(
preg_match("/Fehler/"$string))
        {
            echo 
"<tr><td width=\"1400\">".$domain.".".$tld."</td><td width=\"70\" class=\"error\">Fehler</td>";
            echo 
"<td><a href=\"popup.php?tld=".$tld."\" onclick=\"window.open('popup.php?tld=".$tld."','Details','width=800,height=600,scrollbars=yes'); return false\">Details</a></td>";
            echo 
"</tr>\n";
            
$_SESSION['details'][$tld] = $string;
        }
        else
        {
            if(
preg_match("/".$status_free."/i"preg_replace("/\s\s+|\t/"" "$string)))
                echo 
"<tr><td width=\"140\">".$domain.".".$tld."</td><td width=\"70\"class=\"success\">ist frei!</td><td>\n";


//Hier sollte das Ergebnis der Preisabfrage stehen, pro Domainendungszeile

$SQL0 "SELECT * FROM dsp where (dscode like '$tld')";
$SQL0R odbc_exec($conn$SQL0);
while(
$SQL0Z odbc_fetch_array($SQL0R)) 
{
echo 
$SQL0Z["dpreis"];
}


            elseif(
preg_match("/".$status_invalid."/i"$string))
                echo 
"<tr><td width=\"140\">".$domain.".".$tld."</td><td width=\"70\" class=\"error\">ung&uuml;ltig</td></tr>\n";
            elseif(
preg_match("/".$status_limit."/i"$string))
            {
                echo 
"<tr><td width=\"140\">".$domain.".".$tld."</td><td width=\"70\" class=\"error\">Abfragelimit erreicht *</td></tr>\n";
                
$limit_exceeded true;
            }
            else
            {
                echo 
"<tr><td width=\"140\">".$domain.".".$tld."</td><td width=\"70\" class=\"error\">ist belegt</td><td>";
                echo 
"<a href=\"popup.php?tld=".$tld."\" onclick=\"window.open('popup.php?tld=".$tld."','Details','width=800,height=600,scrollbars=yes'); return false\">Inhaber ist</a>";
                echo 
"</td></tr>\n";
                
$_SESSION['details'][$tld] = "<pre>\n".$string."</pre>";
            }
        }
    }
    
$limit_exceeded false;
    echo 
"<table class=\"list\">\n";
    if(
$tld == "all")
    {
        foreach(
$whoisservers as $tld_ => $value)
            
print_domain($domain$tld_$whoisservers);
}
    else
        
print_domain($domain$tld$whoisservers);
    echo 
"</table>\n";
    if(
$limit_exceeded)
        echo 
"<span>(* Bitte versuchen Sie es in ein paar Minuten erneut)</span>\n";
}
?>
</table><body><html>
  #2 (permalink)  
Alt 12-09-2014, 19:54
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Eine schöne Sicherheitslücke. Bitte informiere dich über SQL-Injections.

Halte dich außerdem an das EVA-Prinzip. Das heißt, dass HTML-Ausgaben vor der Verarbeitung (und dazu zählen auch Datenbankabfragen) nichts verloren haben.

Der Code ist eine reine Katastrophe. Überhaupt keine Struktur und wilde Funktionsdefinitionen mitten im Ablauf. Dazu auch noch Verwendung von globalen Variablen. Ich würde das ganze Teil kübeln und nochmal neu programmieren. Das ist überhaupt nicht mehr wartbar und eine Qual für jeden, der sich damit beschäftigt.
  #3 (permalink)  
Alt 12-09-2014, 20:40
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Der Grund, warum das Script „nicht mehr funktioniert“ dürften wohl in erster Linie die Syntaxfehler sein, die du reinbaust indem du einfach Code-Stücke „irgendwohin“ kopierst.
Wenn du Scripte anpassen willst, solltest du wenigstens die Grundlagen der Syntax beherrschen – sonst wird das nichts.


Außerdem: Crossposting ist unerwünscht

https://www.lima-city.de/thread/if-s...tioniert-nicht

*close* & *trash*
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
 

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variable aus foreach-Schleife außerhalb der Schleife nicht verwendbar Tiafe PHP Developer Forum 4 30-06-2009 15:42
if schleife läuft nicht?!? petro_0 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 9 20-05-2008 19:11
SChleife schleift nicht .... :( RealFairPlayer PHP Developer Forum 46 09-06-2006 16:50
[Variablen] Übergabe per URL funzt nicht, Schleife wird nicht angesprungen. mercurio PHP Developer Forum 11 04-12-2005 23:22
Abfrage nicht in schleife Viper1985 PHP Developer Forum 10 13-01-2003 13:38

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:21 Uhr.