kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Fehler Login Ich brauch dringend Hilfe.:-)

    geschrieben von webfav

    :xD

    Du musst natürlich anstatt "localhost", "root", "manueloma"
    die "richtigen" Zugangsdaten eintragen sowie richtigen Datenbank-Name

    also MySQL-Host, Username und Passwort

    $dbhost = 'mysql.lima-city.de';  // ---- MySQL Host / Server ----
    $dbuser = 'USERxxxxxxxx';        // ---- MySQL Username ----
    $dbpass = 'xyxyxyxyx';           // ---- MySQL Passwort ----
    $dbname = 'db_xxxxxxx_1';        // ---- MySQL Datenbank Name ----
    
    $connect = mysql_connect($dbhost, $dbuser, $dbpass);
    if (!$connect) { print "<p>Could not connect.</p>\n" . mysql_error(); exit; }
    
    $select = mysql_select_db($dbname, $connect);
    if (!$select) { print "<p>Could not select.</p>\n" . mysql_error(); exit; }
    
    // --- usw. ---


    Wenn Du es auf Lima-City Webspace machst,
    dann zuerst eine Datenbank bei Auktionen ersteigern und Zugangsdaten findest Du
    dann unter: Lima-City ---> Verwaltung ---> Addons ---> Datenbank-Zugang


    und mach bei Abfragen immer ein mysql_real_escape_string() mit rein,
    vorallem wenn User-Eingaben abgefragt werden ...

    $query = mysql_query("SELECT * FROM userdaten WHERE benutzer='" . mysql_real_escape_string($benutzer) . "'");


    um SQL-Injection zu verhindern ...

    PS: .... die Tabelle 'userdaten' sollte natürlich auch vorher angelegt worden sein :) !!
    xD
  • in: Fehler Login Ich brauch dringend Hilfe.:-)

    geschrieben von webfav

    in Zeile 11 und 13 fehlen ; (Strichpunkt / Semikolon) am Ende der Zeile

    //conect to db
        $connect = mysql_connect("localhost", "root", "manueloma");
       
       mysql_select_db("manuel222");


    hättest aber auch selbst drauf kommen können,
    in der Fehlermeldug steht doch zumindest ungefähr wo der Fehler ist (Zeile)


    PS: Dein Script ist offen für SQL-Injection Hacker angriffe !!!
  • in: Eine Art Fortschrittsanzeige wegen Wartungsarbeiten

    geschrieben von webfav

    oder CSS direkt im HTML-Code definieren

    evtl musst Du ein geschütztes Leerzeichen
    &nbsp;
    in das DIV "inner" machen,
    damit die Balken-Ausgabe auch kommt, manche Browser zeigen leere DIVs einfach nicht

    // ------------------------------------------ 
    
    $fortschritt = 49;    // --- (int) --- Fortschritt in % Prozent --- 
    
    print "<div id=\"info\" style=\"text-align:center;\">\n"; 
    print " <h2>Fortschritt Status: <span style=\"color:green;\">".$fortschritt."%</span></h2>\n"; 
    print " <div id=\"outer\" style=\"margin:0 auto; height:20px; width:300px; background-color:lightgrey; border:1px solid black; text-align:left;\">\n"; 
    print "   <div id=\"inner\" style=\"height:100%; width:".$fortschritt."%; background-color:green;\">&nbsp;</div>\n"; 
    print " </div>\n"; 
    print " <p>Datum: ".date('d.m.Y')." &nbsp;&nbsp;&nbsp; Zeit: ".date('H:i:s')."</p>\n"; 
    print "</div>\n"; 
    
    // ------------------------------------------


    ... so wird die Ausgabe durch einfache Änderung der Zahl (Wert von $fortschritt) angepasst.

    wenn mit CSS-Datei / Definition, dann kann man diese ja auch "dynamisch" erstellen,
    um den CSS-Wert für die Balken-Breite in % je Fortschritt Status anzupassen.


    <html>
    <head>
    <title>Fortschritt</title>
    
    <?php 
    // ------------------------------------------ 
    $fortschritt = 49; 
    // ------------------------------------------ 
    ?>
    
    <style type="text/css">
     #info { 
      text-align:center;
     }
    
     #outer {
      margin:0 auto; 
      height:20px; 
      width:300px; 
      background-color:lightgrey; 
      border:1px solid black; 
      text-align:left;
     }
    
     #inner {
      height:100%; 
      width:<?php echo $fortschritt; ?>%; 
      background-color:green;
     }
    </style>
    
    </head>
    
    <body bgcolor="#FFFFFF" text="#000000">
    
    <div id="info">
      <h2>Fortschritt Status: <span style="color:green;"><?php echo $fortschritt; ?>%</span></h2>
      <div id="outer"">
        <div id="inner"">&nbsp;</div>
      </div>
      <p>Datum: <?php echo date('d.m.Y'); ?> &nbsp;&nbsp;&nbsp; Zeit: <?php echo date('H:i:s'); ?></p>
    </div>
    
    </body>
    </html>



    also siehe .... <?php echo $fortschritt; ?>%;
    oder halt den kompletten CODE per PHP (print / echo) ausgeben.

  • in: Hilfe bei POST Check und Session

    geschrieben von webfav

    timebandit schrieb:
    Dann bleiben nur die Sessionvariablen, die zicken.
    Welche Inhalte hat $_SESSION() ?


    verwendest Du auch
    session_start();
    sowohl beim in Session-Variable schreiben
    ... sowie auch beim Auslesen ?

    hier mal ein einfaches Beispiel:

    ... die Funktion clean() ist hier auch nur grobes Beispiel
    besser wäre für eMail-Adressen eine Syntax Prüfung (und ggf. auch ob Email-Server erreichbar ist)
    für Links dann eben eine URL-Syntax Prüfung (und ggf. auch ob Ziel-Adresse erreichbar ist)
    für Username nur erlaubte Zeichen, usw. etc ... je nach Eingabe die "passende" Prüfung / Filter

    <?php 
    // ------------------------------------------------ 
    
    session_start(); 
    
    function clean($string) { 
      $string = trim($string); 
      $string = stripslashes($string); 
      $string = htmlentities($string); 
      return $string; 
    }
    
    
    if (!empty($_POST['email'])) { 
      $_SESSION['user_email'] = clean($_POST['email']); 
    }
    
    // ------------------------------------------------ 
    
    print "<h2>Anmeldung</h2>\n"; 
    print "<br />\n"; 
    
    // ------------------------------------------------ 
    
    if (isset($_SESSION['user_email']) { 
    
    print "<br /> OK .... User Email ist: ".$_SESSION['user_email']." \n"; 
    
    // ---- hier Code zum Lesen / Speichern in MySQL ---- 
    
    }
    else { 
    // ------------------------------------------------ 
    
    print "<br />Es wurde (noch) keine User Email eingetragen \n"; 
    print "<br />\n"; 
    
    print '
    <form name="form1" method="post" action="">
      Email-Adresse: <input type="text" name="email" size="30" maxlength="120" />
      OK: <input type="submit" name="senden" value="Absenden" />
    </form>
    '; 
    
    
    }
    
    print "<br />\n"; 
    print "<br />\n"; 
    
    // ------------------------------------------------ 
    ?>


    Wichtig ist
    session_start();
    damit Du in $_SESSION schreiben kannst
    ... und auch damit Du die $_SESSION auslesen kannst

  • in: regex pattern mit zwischen Zeichen = egal

    geschrieben von webfav

    aehhm ... ok ... interessant ... :)

    anstatt nocmal
    (["\']?)
    macht Du einfach
    //1
    ... also erstern Treffer wieder anwenden ??
    das gleiche mit dem 3. Treffer .... so so ... :) ... was nicht alles geht ^^

    also habe ich dann den Wert für name="..." im matches[2] ... und content="..." dann in matches[4]

    habe den Pattern am Ende noch um das / Zeiche ergänzt (escaped mit Backslash)

    $pattern = '/<meta name=(["\']?)(.+?)\\1\\s+content=(["\']?)(.+?)\\3[ \/>]/i';


    wegen XHTML Code ... wo <meta .... .... /> wieder "geschlossen" wird .. wie bei <br />
    für den Fall dass kein Leerzeichen vor dem abschließenen /> steht (siehe folgendes in 3. Zeile)
    <meta name='description' content="Donald Duck ist nicht der Osterhase">
    <meta name="description" content='Donald Duck ist nicht der Osterhase' />
    <meta name='description' content=Donald Duck ist nicht der Osterhase/>



    damit ich nur die zwei META-TAGS description und keywords bekomme mache ich dann so

    $pattern2 = '/<meta name=(["\']?)(description|keywords)\\1\\s+content=(["\']?)(.+?)\\3[ \/>]/i';


    dann habe ich "nur" die zwei Meta-TAGs .... :=)

    ......... hier der bisher gebastelte Code: http://pastebin.com/KAWcbn8A

    EDIT: (das Speichern ist noch nicht dabei, nur eine DEBUG-Ausgabe der $_POST Werte)

    Datei: GetMeta1.php

    <?php 
    // --------------------------------------------------------------- 
    
    header("Content-Type: text/html; charset=utf-8");
    
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
    
    ## $myscript = 'GetMeta1.php'; 
    $myscript = $_SERVER['PHP_SELF']; 
    
    
    // ------------------------------------------------------------ 
    
    print "<br />\n"; 
    print "<br /> --- <a href=\"".$myscript."\">HOME</a> (RESET) --- \n"; 
    print "<br />\n"; 
    
    // ---------------------------------------------------- 
    
    if (!empty($_REQUEST['url'])) { 
    	$go_url = trim(chop($_REQUEST['url'])); 
    	$go_url = str_replace('http://http://','http://',$go_url); 
    	if (strpos($go_url,'http://') === FALSE && strpos($go_url,'https://') === FALSE) { $go_url = 'http://'.$go_url; } 
    	// ----- to-do: filters and/or escape url string ----- 
    }
    else { 
    	$go_url = 'http://'; 
    } 
    
    // ---------------------------------------------------- 
    
    function pingSite($url) {  
    	
    	$fp = curl_init($url);
    	
    	curl_setopt($fp,CURLOPT_TIMEOUT,10);
    	curl_setopt($fp,CURLOPT_FAILONERROR,1);
    	curl_setopt($fp,CURLOPT_RETURNTRANSFER,0);
    	curl_setopt($fp,CURLOPT_NOBODY,1);
    
    	curl_exec($fp);
    	
    	if (curl_errno($fp) != 0) { $status = false; } 
    	else { $status = true; } 
    	
    	curl_close($fp);
    	
    	return $status;
    
    }  
    
    // ---------------------------------------------------- 
    
    
    $online = pingSite($go_url); 
    
    if ( !$online && !empty($go_url) && $go_url != 'http://' ) {
     
    print "<br />\n"; 
    print "<br /> ........ Die URL <span style=\"margin:8px; padding:4px; background:#DDEEDD;\">".$go_url."</span> ist <strong style=\"color:red;\">nicht</strong> online !!! ... <a href=\"".$myscript."\">zur&uuml;ck</a>\n"; 
    print "<br />\n"; 
    }
    else { 
    
    // ------------------------------------------------------------ 
    
    if ( !empty($_REQUEST['save']) && !empty($go_url) && $go_url != 'http://' ) { 
    
    print "<br />\n"; 
    print "<br /> To-Do ........ Speichern \n"; 
    print "<br />\n"; 
    print "<br /> ###### DEBUG ###### _POST ###### \n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    print "<pre style=\"margin:4px; padding:4px; background:#DEDEDE; text-align:left;\">\n"; 
    print_r($_POST); 
    print "</pre>\n"; 
    
    print "<br />\n"; 
    print "<br />\n"; 
    print "<br />\n"; 
    
    }
    else { 
    // ------------------------------------------------------------ 
    
    $formular1 = '
    <form name="form1" method="post" action="">
      <br /> URL: <input type="text" name="url" size="48" maxlength="180" value="'.$go_url.'" />
      <br /> 
      <br /> RUN: <input type="submit" name="meta" value="Get MetaTags" /> &nbsp;&nbsp; INFO: <span id="minfo" style="margin:12px; padding:4px; background:#DDEEDD;">Bitte eine URL eingeben.</span>
      <br /> 
      <br /> Titel: <input type="text" name="title" size="48" maxlength="90" />
      <br />
      <br /> Beschreibung: 
      <br /> <textarea name="description" cols="48" rows="4" wrap="VIRTUAL"></textarea>
      <br />
      <br /> Keywords: 
      <br /> <textarea name="keywords" cols="48" rows="4" wrap="VIRTUAL"></textarea>
      <br />
      <br /> OK:  <input type="submit" name="save" value="Speichern" />
      <br />
    </form>
    '; 
    
    
    // ---------------------------------------------------- 
    
    print "<br />\n"; 
    print "<br />\n"; 
    
    print $formular1; 
    
    print "<br />\n"; 
    print "<br />\n"; 
    
    }
    
    
    // ---------------------------------------------------- 
    
    
    function str_utf8_encode($str) { 
    	if (mb_detect_encoding($str, 'UTF-8', true) === FALSE) { 
    	$str = utf8_encode($str); 
    	}
    	return $str; 
    }
    
    // ---------------------------------------------------------------- 
    // ---------------------------------------------------------------- 
    
    function get_meta_description($url) { 
    
    $html = ''; 
    
    if($fh = @fopen($url,"r")){
    	while (!feof($fh)){
    		$buffer = fgets($fh, 4096);
    		if (strpos($buffer,'/head') !== FALSE) { break; } 
    		$html .= $buffer; 
    	}
    	fclose($fh);
    } 
    else { 
    print "<br />ERROR ... fopen\n"; 
    exit; 
    }
    
    // -------------------------------------------- 
    
    $pattern1 = '/<title>(.*)<\/title>/iU';
    preg_match_all ($pattern1, $html, $matches_title);
    
    ## print "<pre>\n"; 
    ## print_r($matches_title);
    ## print "</pre>\n"; 
    
    // -------------------------------------------- 
    
    $pattern2 = '/<meta name=(["\']?)(description|keywords)\\1\\s+content=(["\']?)(.+?)\\3[ \/>]/i';
    preg_match_all ($pattern2, $html, $matches_meta, PREG_SET_ORDER);
    
    ## print "<pre>\n"; 
    ## print_r($matches_meta);
    ## print "</pre>\n"; 
    
    // -------------------------------------------- 
    
    $matchdata = array(); 
    
    $matchdata['title'] = (isset($matches_title[1][0])) ? str_utf8_encode($matches_title[1][0]) : '';
    
    foreach($matches_meta as $matchitem) {  
    	$mkey = strtolower($matchitem[2]); 
    	$matchdata[$mkey] = (isset($matchitem[4])) ? str_utf8_encode($matchitem[4]) : '';
    }
    
    // -------------------------------------------- 
    
    return $matchdata;
    
    
    }
    
    // ---------------------------------------------------------------- 
    // ---------------------------------------------------------------- 
    
    
    // ---------------------------------------------------- 
    if ( !empty($_REQUEST['meta']) ) { 
    
    
    // --------------------------------- 
    if ( !empty($go_url) && $go_url != 'http://' ) { 
    
    $data = get_meta_description($go_url); 
    
    
    
    print "<p>###### DEBUG ######</p>\n"; 
    print "<br />URL: ".$go_url."\n"; 
    print "<br />\n"; 
    
    print "<pre style=\"margin:4px; padding:4px; background:#DEDEDE; text-align:left;\">\n"; 
    print_r($data); 
    print "</pre>\n"; 
    
    print "<br />\n"; 
    print "<br />\n"; 
    
    
    $jscode = ''; 
    
    $jscode .= '
    <script type="text/javascript">
    '; 
    
    $jscode .= '
    document.form1.title.value = "'.$data['title'].'"; 
    document.form1.description.value = "'.$data['description'].'"; 
    document.form1.keywords.value = "'.$data['keywords'].'"; 
    '; 
    
    $jscode .= '
    document.getElementById("minfo").innerHTML = "OK ... MetaTags wurden gelesen.";
    '; 
    
    $jscode .= '
    </script>
    '; 
    
    
    print $jscode; 
    
    
    }
    else { 
    // --------------------------------- 
    
    print '
    <script type="text/javascript">
    document.getElementById("minfo").innerHTML = "Kannst Du nicht Lesen? ... zuerst eine URL eintragen !!!";
    </script>
    '; 
    
    }
    // --------------------------------- 
    
    }
    // ---------------------------------------------------- 
    
    }
    // ------------------------------------------------------------ 
    
    ?>


    INFO: das Speichern ist noch nicht dabei, nur eine DEBUG-Ausgabe der $_POST Werte
    nach dem Klick auf Speichern-Button ... To-Do ... URL + Meta-TAGs Daten Speichern (in MySQL)


    und .... jetzt würde ich das ganze gerne noch ohne Browser-Reload hinbekommen,
    also per Ajax im Hintergrund die Meta-Tags auslesen und mit JS in Formular schreiben
    ... ein kleiner Teil (mit JS in Formular schreiben ) ist ja schon dabei ... :) ...

  • in: regex pattern mit zwischen Zeichen = egal

    geschrieben von webfav

    Danke, das funktioniert ...

    preg_match_all ('/<title>(.*)<\/title>/iU', $html, $matches1);
    preg_match_all ('/<meta name="description"\\s+content="(.*)"/iU', $html, $matches2);
    preg_match_all ('/<meta name="keywords"\\s+content="(.*)"/iU', $html, $matches3);
    ...


    aber wenn ich die Variante für double-/single-quote oder ohne nehme,
    dann bekomme ich aus den <meta> TAGs kein Ergebnis mehr ??

    preg_match_all ('/<title>(.*)<\/title>/iU', $html, $matches1);
    preg_match_all ('/<meta name=["\']?description["\']?\\s+content=["\']?(.*)["\']?/iU', $html, $matches2);
    preg_match_all ('/<meta name=["\']?keywords["\']?\\s+content=["\']?(.*)["\']?/iU', $html, $matches3);
    ...


    bei diesem zweiten Code mit
    ["\']?
    anstatt
    "
    geht leider
    nur der <title> TAG, aber die <meta> TAGs nicht ?!

    ... sollte doch richtig escaped sein ? ...

    PS: ich will bewusst nur bestimmte META-Tags auslesen (title, description, keywords, author)
    denn ich denke, wenn jemand viele weitere als diese definiert hat,
    dann braucht preg_match_all() auch deutlich mehr Performance ?! ... oder nicht ?

    und die PHP-Funktion: get_meta_tags() wäre auch eine Alternative für <meta> TAGs,
    aber ich habe gelesen, damit ist es viel langsamer als mit Pattern und preg_match_all ...

  • in: url immer mit http

    geschrieben von webfav

    vielen Dank @menschle !!!


    ich habe es mir etwas vereinfacht, also ohne Array als URL Parameter, nur einzelne URL

    Fuktion:
    // ---------------------------------------------------- 
    
    function pingSite($url) {  
    	
    	$fp = curl_init($url);
    	
    	curl_setopt($fp,CURLOPT_TIMEOUT,10);
    	curl_setopt($fp,CURLOPT_FAILONERROR,1);
    	curl_setopt($fp,CURLOPT_RETURNTRANSFER,0);
    	curl_setopt($fp,CURLOPT_NOBODY,1);
    
    	curl_exec($fp);
    	
    	if (curl_errno($fp) != 0) { $status = false; } 
    	else { $status = true; } 
    	
    	curl_close($fp);
    	
    	return $status;
    
    }  
    
    // ----------------------------------------------------


    Aufruf:
    // ---------------------------------------------------- 
    
    $eine_url = 'http://www.example.org'; 
    
    if ( !pingSite($eine_url) ) { 
      print '<p>Die Seite ist NICHT erreichbar </p>'."\n"; 
    } 
    esle { 
      print '<p>OK ... die Seite ist erreichbar </p>'."\n"; 
    }
    
    // ----------------------------------------------------


    ich musste noch
    curl_setopt($fp,CURLOPT_NOBODY,1);
    mit rein bauen,
    weil mir sonst der komplette (HTML) Inhalt der abgefragten URL angezeigt wurde ... ?!?
    ... schein auch so zu funktionieren :)

  • in: regex pattern mit zwischen Zeichen = egal

    geschrieben von webfav

    Hallo

    ich möchte definierte Werte aus TAGs (HTML) auslesen

    Bsispiel:
    preg_match_all ("/<meta name=\"description\" content=\"(.*)\"/iUs", $html, $matches); 
    $descritpion = $matches[1][0];


    das klappt auch meistens, aber nicht wenn zwischen drin mehrehre Leerzeichen sind,
    was vorkommt, wenn jemand seinen Quellcode besonders "schön" formatiert hat

    Beispiel:
    ... 
    		<meta name="description"    content="Hier steht die Beschreibung zur Homepage als Text">
    		<meta name="keywords"       content="Wote, durch, Komma, getrennt">
    		<meta name="author"         content="Donald Duck">
    ...


    also hier sind vor
    content=
    unterschiedlich viele Leerzeichen ...
    ... deshalb greift mein Parrtern nicht mehr ... der erwartet nur 1 Leerzeichen

    Wie muss ich den Pattern ändern, damit es egal ist, wieviele (Leer-)Zeichen vor
    content=
    sind ?

    noch ein Beispiel:

    $html = '<a href="ziel.php" rel="nofollow" target="_self" title="Weiter gehts">hier klicken</a>';


    Wenn ich jetzt mit preg_match_all den Wert für href= und den Link-Text auslesen will,
    weiß ich ja vorher nicht, was alles zwischen
    href="..."
    und
    >hier klicken</a>
    steht,
    diesesmal sind es nicht nur Leerzeichen, sondern gemischte Zeichen (Text) dazwischen

    Wie muss ein Pattern aussehen, der Wert für href= und den Link-Text auslesen kann,
    wobei egal sein soll, was noch so an "Text" (gemischte Zeichen) dazwischen steht.

    ich hoffe Ihr könnt mir helfen :=)

    PS: sorry für den "komischen" Beitrags-Titel ... regex pattern mit zwischen Zeichen = egal
    wenn jemand was besseres als Überschrift einfällt, gerne dazu schreiben :)

  • in: url immer mit http

    geschrieben von webfav

    ok, vielen Dank

    also && (AND) anstatt || (OR) .... alles klar ... bei OR ist hier immer eins von beiden erfüllt :oO
    ... anstatt dem === FALSE kann ich doch auch ein ! vor strpos() setzen, oder ?

    if ( !strpos($adresse,'http://') && !strpos($adresse,'https://') )
    {
      $adresse = 'http://'.$adresse;
    }



    Wie kann ich jetzt noch prüfen, ob die URL a) valide ist und b) auch erreichbar ist ?

    PS: zum chop() ... Danke .. das ist ehh erstmal quasi ein Platzhalter für noch mehr Filter,
    damit dann keiner ein Script odder Hack über das Formular senden kann ...

    z.B:
    $adresse = preg_replace("/[^0-9a-zA-Z_\-\/\.:#,]/","",$adresse);


    da muss ich noch rausfinden, welche Zeichen in einer URL erlaubt sind,
    und auch, wie man die im Regex Pattern escapen muss
    ... oder halt anders prüfen, ob Eingabe ein valider URL-String ist (siehe Frage oben)

    Oder welche "Anti Hack" Filter bei Formular-Eingabe würdet Ihr (noch) empfehlen ?
  • in: per JavaScript remote JSON oder XML auslesen?

    geschrieben von webfav

    timebandit schrieb:
    ... Vielmehr möchte ich auf ein juristisches Problem hinweisen ...


    Vielen Dank für den Hinweis,

    da werde ich wohl besser ein ein Opt-In (Checkbox / Kontrollkästchen) bei Anmeldung einbauen.

    [X]  Ich erkläre mich damit einverstanden, daß eingegebene Daten 
    (Username, Email und IP-Adresse) nur zum Zweck der Spamvermeidung 
    durch einen Dienst in den USA überprüft und gespeichert werden. 
    Weitere Informationen zum Dienst ... hier.


    mit Link zu stopforumspam bei dem Wort "hier" am Ende des Textes.

    dann habe ich 2 Opt-In, a) für diesen Anti-Apam-Check und b) für die Nutzungsbedingungen

    PS:
    Wenn ich den Text auch in die Nutzungsbedingungen (die ebenfalls über Opt-In bestätigt werden müssen) mit rein schreibe, dann sollte doch auch ein einziger Opt-In (Checkbox) für die Nutzungsbedingungen ausreichen, oder soll ich lieber beide einzeln lassen ?
  • in: url immer mit http

    geschrieben von webfav

    Hallo

    wenn eine URL in Formular ohne http:// (oder ohne https://) eigegeben wurde,
    dann soll das PHP-Script der URL ein http:// voran-stellen ....

    das versuche ich mit einer if-Bedingung mit strpos()
    die prüfen soll, ob der String (die URL) bereits http:// oder https:// enthält

    <br />
    
    <form name="form1" method="post" action="">
      Adresse: <input type="text" name="url" size="36" maxlength="180" />
      OK: <input type="submit" name="run" value="Weiter" />
    </form>
    
    <br />
    
    <?php 
    
    $adresse = trim(chop($_POST['url'])); 
    
    if (strpos($adresse,'http://') === FALSE || strpos($adresse,'https://') === FALSE) 
    { 
      $adresse = 'http://'.$adresse; 
    } 
    
    print "<p>URL: ".$adresse."</p>\n"; 
    
    ?>


    ... funktioniert aber leider nicht ?!

    Wenn die URL schon mit
    http://
    in Formular eingetragen wird,
    dann macht das Script daraus doppelt
    http://http://


    ... warum ? ... was ist falsch ?
    :oO
  • in: Was kommt ins Impressum?

    geschrieben von webfav

    ja, Du musst selbst eine Rechnung erstellen

    die von Paypal gilt nicht für Dein "Gewerbe" als Rechnung

    Deine eigenen Rechnungen (sowie Konto-Auszüge) musst Du auch lange aufbeahren,
    denn diese sind bei einer Prüfung durch das Finanzamt vorzulegen.

    eine rechtsgültige "Rechnug" muss bestimmte Elemente enthalten
    u.a.: folgendes (nicht vollständig)

    + Name+Anschrift (von Käufer und von Verkäufer)
    + Rechtsform, Gewerbebezeichnung (Firmennname), Geschäftsführer, Steuer-Nummer (ID)
    + das Rechnungs-Datum (Tag der Erstellung)
    + Eine fortlaufende Rechnungs-Nummer
    + Rechnungs-Betrag in Brutto und in Netto (inkl. % und Betrag der MWST) je einzeler Artikel und Gesamt
    + Wenn ohne MWST (weil Rechtsform = Kleingewerbe)
    ... dann als Hinweis: Rechnung ohne MWST nach nach § 19, Art. 1 UStG (Kleingewerde)
    + Bankverbindung für Bezahl-Vorgang (Paypal is quasi auch eine Bank)
    + ... etc ...

    was genau alles rein muss, hängt auch von der Rechtsform des Gewerbe
    sowie von der Art der Artikel / Dienstleistungen ab, welche in Rechnung gestellt wurden.

    Wie oben schon gesagt, das hier ist KEINE Rechtsberatung, alles nur unverbindliche Hinweise.

    Und wo wir schon dabei sind, Deine Webseite sollte auch eine AGB Seite haben,
    auf der alle Informationen stehen, unter welchen Bedingunge ein "Vertrag" zustande kommt
    Der Käufer sollte vor dem Kauf diesen AGB zustimmen ... kennt man ja ...

    Auch wenn ein User nur ein Passwort für 1 Euro per Paypal kauft, ist auch das ein (Kauf-) Vertrag !!!


  • in: Was kommt ins Impressum?

    geschrieben von webfav

    also ein Impressum ohne Adresse (Anschrift) macht glaub wenig Sinn,
    ohne Adresse kannst Du es auch komplett sein lassen, was ich nicht empfehle,

    realsocialnews schrieb:
    Ich sende ja keinen Päckchen an irgendjemanden!
    Ich bin nur einer der an alle die sich das passwort kaufen eine email sendet.


    Du verkaufst Passwörter ????

    also ..... wenn man mit seiner Homepage auf irgend eine Weise Geld verdient
    (z.B. Affiliate Banner, oder wie Du ... mit passwort verkaufen .... )

    dann sollte man ein Gewerbe angemeldet haben (z.B. auch "nur" als Kleingewerbe)
    und muss man neben Name + Anschrift auch noch die Geschäftsbezeichnung, (Firmen-Name)
    den Geschäftsführer und die Rechstform (Kleingewerbe / Einzelunternehmen / GmbH / etc. ...)
    angeben und oft muss man auch Gerichtsstand (Ort, zuständiges Gericht) angeben.

    Wer MwSt Berechtigt ist (alles außer Kleingewerbe) muss zudem die Steuer-Nummer (USTID)
    und den Gerichtsstand (= Ort an dem das Gewerbe gemeldet ist) angeben.
    Was genau je Rechtsform angegeben werden muss weiß ich auch nicht, das ist nur ganz grob
    und ohne jede Gewähr oder Anspruch auf Vollständigkeit, das ist hier KEINE Rechtsberatung !!!


    ... zu Deinem Verkauf von Passwörter ????

    Schreibst Du Deinen "Kunden" eine Rechnung? (auch wenn es "nur" per Email ist) ??

    ... wenn nein, ist es Schwarz-Handel, ... wenn ja, musst Du ein Gewerbe angemeldet haben

    Wenn Du auf Deiner Homepage irgendwie Geld verdienst, und seien es nur ein paar Cent / Monat,
    dann ist es eine gewerbliche Tätigkeit, und dafür solltest Du auch ein Gewerbe anmelden,
    ... weil die Einnahmen aus gewerblicher Tätigkeit werden anders ver-steuert als bei einem Gehalt.

    ich (und wohl keiner sonst hier) kann (und darf) Dir dazu verbindliche Rechts-Beratung geben,
    Du kannst Dich auch nicht auf Aussagen von "irgendwem" in einem Forum verlassen,

    Wenn Du ganz sicher gehen willst, mach einen Termin bei einem Anwalt,
    der kann Dich dann aufklären und auch eine rechtliche Beratung machen,

    Also alles was ich (wir) hier als Antwort schreiben nind nur unverbindliche Hinweise ohne Gewähr:
    Eine Rechtsberatung darf nur von einem Anwalt gemacht werden, aber das kostet eben Geld.

    Also ... als (unverbindliche) Empfehlung (= keine Rechtberatung) sage ich nochmal:
    ... wenn Du auf Deiner Homepage etwas verkaufst, dann melde dafür ein (Klein-) Gewerbe an !!!

    Und noch ein Tipp: kläre mit Deinem Arbeitgeber (soweit vorhanden) vorher ab, ob er
    einer Neben-Beruflichen gewerblichen Tätigkeit zustimmt, denn es gibt Arbeitgeber,
    die nicht wollen, dass man neben seinem "Beruf" noch ein Gewerbe am laufen hat.

    Du siehst ... mit Homepage bauen und Geld kassieren (für was such immer) ist es nicht getan,
    Du brauchst ein Gewerbe, musst bei Verkauf eigener Ware oder Dienstleistungen eine rechtlich
    korrekte Rechnungen erstellen (mit fortlaufende Nummer, mit Steuer-Nummer drauf, etc)
    und natürlich dann alle Einnahmen auch richtig verteuern, ggf. auch MWST abführen, usw.

  • in: per JavaScript remote JSON oder XML auslesen?

    geschrieben von webfav

    ok, vielen Dank

    ich habe es sogar hinbekommen, die Daten (JSON) per POST an eine .php Datei zu senden,
    und das Ergebnis der Prüfung (plus DEBUG) in einem DIV id="ausgabe" wieder auszugeben

    Die Datei: sfs_check1.php
    <html>
    <head>
    <title>SFS Check</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    
    <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script>
    
    <script type="text/javascript">
    
    var sfs_params = 'email=krillxcg@gmail.com&ip=125.78.241.11'; 
    
    $.getJSON("http://www.stopforumspam.com/api?" + sfs_params + "&f=json&callback=?",
    	
    	function(data) {
    		$.each(data, function(key, val) { 
    		$('#ergebnis').append("<br />" + key + " --- " + val + "\n");
    		});
    	
    	data.request = sfs_params; 
    	
    	var json_str = JSON.stringify(data); 
    	
    	$.post('sfs_check2.php', {sfsres : json_str} ).done(function(pdata) {
    		$('#ausgabe').html(pdata);
    	});
    	
    });
    
    </script>
    
    
    </head>
    
    <body bgcolor="#FFFFFF" text="#000000">
    
    <br />
    <br />
    
    <div id="ausgabe">
    </div>
    
    <br />
    <br />
    
    <?php echo $spammer; ?>
    
    <br />
    <br />
    
    </body>
    </html>


    ich bekomme aber eben "nur" die Ausgabe der sfs_check2.php im DIV id="ausgabe"
    leider kann ich so nicht weiter mit dem Ergebnis (Variablen) arrbeiten, nur "ansehen"

    die Ausgabe
    echo $spammer;
    ergibt einen Fehler:
    Notice: Undefined variable: spammer in ....

    logisch, weil ja nur der fertige (HTML) Inhalt der sfs_check2.php ausgegeben wird
    und keine Variablen zurück übergeben werden ...

    Die Datei: sfs_check2.php
    <?php
    // -------------------------------------------------------
    
    if (!empty($_POST['sfsres'])) {
    
    
    $sfs_data = json_decode($_POST['sfsres']);
    
    $spammer = 'nein';
    
    if ($sfs_data->email->appears == 1)    { $spammer = 'ja'; }
    if ($sfs_data->ip->appears == 1)       { $spammer = 'ja'; }
    
    // ---------------------------------------- 
    
    print "<br />\n";
    print "<br />SPAMMER: <strong>".$spammer."</strong> \n";
    print "<br />\n";
    
    // ---------------------------------------- 
    
    print "<br />DEBUG: \n";
    print "<br />\n";
    
    print "<pre>\n";
    print_r($sfs_data);
    print "</pre>\n";
    
    print "<br />\n";
    print "<br />\n";
    
    }
    
    // -------------------------------------------------------
    ?>


    wie gesagt, das Ergebnis / die Ausgabe von sfs_check2.php kann ich mir "ansehen"
    aber die Variable ist nicht der Abfrage-Datei sfs_check1.php als Variable verfügbar.

    wie kann ich jetzt aber für den Fall
    $spammer = 'ja';
    reagieren,
    also den User-Anmelde Prozess abbrechen und evtl Log dazu speichern, etc.

    PS: hatte die Idee, wenn in der sfs_check2.php das Ergebnis
    $spammer = 'ja';
    ist,
    dann per header("location: ...") den Abbruch zu erzwingen, aber das geht leider auch nicht,
    weil "headers already sent ..." Fehler kommt.

    jemand noch ne Idee, wie ich mit dem Ergebnis ob ]$spammer = 'ja' oder 'nein' weiter arbeiten kann ?


    EDIT: ... habe gerade noch ne Idee: ...
    was haltet Ihr von
    $_SESSION['spammer'] = "ja";
    in sfs_check2.php bei Treffer,
    darauf sollte ich ja dann auch in der Abfrage-Datei sfs_check1.php wieder zugreifen können ?!
    oder?

  • in: per JavaScript remote JSON oder XML auslesen?

    geschrieben von webfav

    Hallo

    wie kann ich mit JavaScript eine JSON (oder XML) Datei (von fremdem Server) auslesen ?

    ich möchte auf einem Webspace, bei dem allow_url_fopen = off ist
    eine API abfragen, und das Ergebnis dann mit PHP verarbeiten.

    dazu muss ich aber die API zuerst per JavaScript abfragen,
    weil der Webspace weder curl noch allow_url_fopen an hat.

    Beispiel: JSON
    Beispiel: XML

    soweit das Ergebnis auch durch JS angekommen ist, kann ich ja
    die Daten an eine PHP-Datei (intern) weiterleiten (per ajax)
    und dann dort verarbeiten, wenn appears==1 dann User blocken

    Wie kann ich also externe (remote) JSON oder XML Daten per JavaScript abholen ?
    ... egal welches Format, hauptsache es funktioniert (es kommt was an)
    und, wenn JSON, dann besser mit callback function oder ohne ?
  • in: Alternative zu $_server['document_root'] ?

    geschrieben von webfav

    Hallo

    ich habe auf einem anderen Webspace ein Problem mit $_SERVER['DOCUMENT_ROOT']

    ich will von jedem beliebigen Ordner aus auf einen include/ Ordner zugreifen
    aber der Pfad stimmt wohl nicht mit dem aktuellen Dateipfad überein,
    und die zu includende Datei wird nicht gefunden,

    include_once( $_SERVER['DOCUMENT_ROOT'] . '/includes/functions1.php');


    Fehler: Warning ... failed to open stream: No such file or directory in ...

    gibt es Alternativen zu $_SERVER['DOCUMENT_ROOT'] damit ich immer zu
    einem bestimmten Unterordner vom Hauptverzeichnis aus zugreifen kann ?

Login zum Webhosting ohne Werbung!