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
123456789101112$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 ...
1$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
1234//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
in das DIV "inner" machen,
damit die Balken-Ausgabe auch kommt, manche Browser zeigen leere DIVs einfach nicht
12345678910111213// ------------------------------------------
$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;\"> </div>\n"
;
print
" </div>\n"
;
print
" <p>Datum: "
.
date
(
'd.m.Y'
).
" 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.
123456789101112131415161718192021222324252627282930313233343536373839404142434445<
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"
"> </
div
>
</
div
>
<
p
>Datum: <?
php
echo date('d.m.Y'); ?> 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
sowohl beim in Session-Variable schreibensession_start();
... 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
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152<?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
damit Du in $_SESSION schreiben kannstsession_start();
... 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(["\']?)
... also erstern Treffer wieder anwenden ??//1
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)
1$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
1$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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258<?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'
]));
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
{
}
// ----------------------------------------------------
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
);
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ück</a>\n"
;
print
"<br />\n"
;
}
else
{
// ------------------------------------------------------------
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"
/> 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'
]) ) {
// ---------------------------------
$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 ...
1234preg_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 ??
1234preg_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:
1234567891011121314151617181920212223// ----------------------------------------------------
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:
123456789101112// ----------------------------------------------------
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
mit rein bauen,curl_setopt($fp,CURLOPT_NOBODY,1);
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:
12preg_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:
12345...
<
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
unterschiedlich viele Leerzeichen ...content=
... 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
sind ?content=
noch ein Beispiel:
1$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
undhref="..."
steht,>hier klicken</a>
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 ?
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:
1$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
123456789101112131415161718192021<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'
]));
{
}
print
"<p>URL: "
.
$adresse
.
"</p>\n"
;
?>
... funktioniert aber leider nicht ?!
Wenn die URL schon mit
in Formular eingetragen wird,http://
dann macht das Script daraus doppelthttp://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
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051<
html
>
<
head
>
<
title
>SFS Check</
title
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html; charset=iso-8859-1"
>
<
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
ergibt einen Fehler:echo $spammer;
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
1234567891011121314151617181920212223242526272829303132333435<?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
reagieren,$spammer = 'ja';
also den User-Anmelde Prozess abbrechen und evtl Log dazu speichern, etc.
PS: hatte die Idee, wenn in der sfs_check2.php das Ergebnis
ist,$spammer = 'ja';
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
in sfs_check2.php bei Treffer,$_SESSION['spammer'] = "ja";
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,
1include_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 ?