Suche auf lima-city
-
in: SQL, verschachtelte Unterabfragen funktionieren nicht
geschrieben von timebandit
Hallo Martin,
warum Dinge komplizieren? Keep it simple and stupid (kiss).
.SELECT `zahl1`, (`zahl1` - `mw`) AS `zaehler`,(`zahl1` - `mw` + 27) AS `Ergebnis` FROM `test`, (SELECT AVG(`zahl1`) AS `mw` FROM `test`) AS `t2` LIMIT 0,5;
Limit 0,25 ist die Standardeinstellung bei PHPMyAdmin.
lg timebandit -
in: Homepage wird nur umgeleitet
geschrieben von timebandit
Hallo joachimhahn,
beachte Duplicate Content.
Die websites https://in-n-out-community.4lima.de und
https://www.in-n-out-community.4lima.de
sind immer noch erreichbar und werden vom googlebot gecrawlt.
Wenn dir das Ranking in den SERPs egal ist, dann kannst du das so lassen.
Sauberer ist allerdings eine 301 Weiterleitung via .htaccess.
lg
timebandit -
in: Homepage wird nur umgeleitet
geschrieben von timebandit
Hallo joachimhahn,
die links auf der website verweisen alle auf die Domain "in-n-out-community.4lima.de".
Beispielsweise in der Navigation:
<ul id="main-menu" class=""><li id="menu-item-960" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item menu-item-home menu-item-960">
<a href="https://in-n-out-community.4lima.de/?_gl=1*1kim9u3*_ga*MjY2MDUwNzQzLjE3MTcyNDE0OTE.*_ga_G5M5ZT1HXF*MTcxNzI0MTQ5MC4xLjAuMTcxNzI0MTQ5MC4wLjAuMA..">Startseite</a>
</li>
timebandit -
in: Scrollbare Table Cell
geschrieben von timebandit
Tabellen sind im Responsive Webdesign - und das ist State of the Art - eine echte Herausforderung. Ich habe hier https://timebandit.lima-city.de/mehralsnurradio/ eine Beispieltabelle mit scrollbaren Zellen erstellt. Für mobile Geräte eignet sich diese Lösung allerdings nicht.
lg,
timebandit -
in: Erfahrungsbericht: Passwortschutz mit htaccess im Freespace
geschrieben von timebandit
Hallo joergreven,
joergreven schrieb:
Vielleicht liegt das Problem auch gar nicht bei mir - laut Statusseite hat der Freespace Teilausfälle.
Wenn dem so wäre, dann müsste deine site auch down sein.
Meine Testseiten sind auch im Free-Webspace. Das Resultat aus .htaccess und Passwortgenerator findest du hier:
https://timebandit.lima-city.de/joergreven/geheim/
Zur Vereinfachung und nur zu Testzwecken die Zugangsdaten:
Benutzername: admin und Passwort:admin
lg
timebandit -
in: Erfahrungsbericht: Passwortschutz mit htaccess im Freespace
geschrieben von timebandit
Hallo joergreven,joergreven schrieb:
Ich glaube daher, das Problem liegt beim Passwort.
..
tchiarcos schrieb:
Hi,
nix für ungut, aber das ist die wohl älteste Methode ein Verzeichnis zu schützen, allerdings nicht die eleganteste!
Welche eleganteren Methoden kennst du?
Ja, es gibt zahlreiche Tutorials. Meistens scheitern die User am Passwort. Unterschiedliche Server verwenden auch unterschiedliche Verschlüsselungsmethoden. Für Lima-City Server habe ich einen Passwortgenerator gebastelt.
https://timebandit.lima-city.de/joergreven/
lg,
timebandit
-
in: Code darstellen in HTML
geschrieben von timebandit
Hallo,
ohne Codeschnipsel muss ich raten. In der DB befinden sich HTML-Dokumente oder Teile davon.
Diese werden in PHP-Variablen gepackt und ausgegeben. Wenn dem so ist, dann bietet sich htmlentities an.Etwa so htmlentities($db_wert).
lg
timebandit
-
in: Kostenlosen Webspace bei limy-city
geschrieben von timebandit
Hallo ubuntuserver-revenge,
ubuntuserver-revenge schrieb:
...
Wie beantragt man denn Code für den kostenlosen Wbspace bei Lima-city?
In der Hilfe findest du folgendes:
Einladungs-Codes für den kostenlosen Webspace
Der kostenlose Webspace ist derzeit nur für Kunden, welche dafür eine Einladung haben, verfügbar. Eingeladene Kunden können in der Verwaltung ihren Einladungs-Code eingeben und erhalten Zugang zum kostenlosen Webspace.
Einladungs-Codes sind verfügbar über:
registrierte Kursleiter / Nutzer von unseren Bildungs-Lösungen
lima-city Hosting-Partner
Vielleich hilft dir diese Seite mit einem Werbebanner für lima-city weiter. Ich bin mir aber nicht sicher ob das bei dir funktioniert (bist ja bereits ein registrierter user).
https://timebandit.lima-city.de
lg
timebandit
[edit] Habe mich noch ein wenig umgeschaut und in den Blogs das gefunden: https://blog.lima-city.de/2019/07/updates-kw29-2/
Zudem wurde die Freischaltung des kostenlosen Webspace verändert. Seit Dezember haben wir einen Einladungscode verlangt, damit der kostenlose Webspace auf neu registrierten Accounts aktiviert werden konnte. Das ist nun durch eine Anmeldung mit Freischaltung ersetzt worden. -
in: Hilfe gesucht.
geschrieben von timebandit
Hallo blogvvard,
der gewünschte Code:
$currDir=__DIR__.'/content/'; foreach (scandir($currDir) as $key => $value){ if (!in_array($value,array(".","..")) && !is_dir($dir . DIRECTORY_SEPARATOR . $value)) //Ausschluss der Unterverzeichnisse { if (is_file($currDir."/".$value) && strpos($value,'.txt')!==false) //Wenn der &&-Operator weggelassen wird werden alle Dateien erfasst {$file=$currDir."/".$value; /***************************************************************************************************/ $opfile = fopen($file, 'r'); // der teil ist unverändert macht kopfschmerz bei $post_title = trim(fgets($opfile),'#');//einer hohen dateizahl fclose($opfile);//nicht gerade performant /***************************************************************************************************/ $post_title=ucfirst(trim($post_title));//alle dateinamen erhalten Großbuchstaben wg sortierbarkeit $basename=basename($value,".txt"); $basenarr[$basename]=$post_title;//Dateinamen als Schlüssel;Blogtitel als Werte } } } if(isset($basenarr)){ krsort($basenarr); //aufsteigend die Keys sortieren -->ksort ist das Gegenstück foreach($basenarr as $key => $v){$content .= '<h2 class="list-title"><a href="'.$base_url.'?post='.$key.'">'.$key.' - '.$v.'</a></h2>';} echo "$content";} else {echo "keine Dateien gefunden";}
Einzufügen in der letzten else-Anweisung. Achte auf die geschweiften Klammern PHP verzeiht da keinen Fehler und antwortet sonst mit einem 503 Status-Code (Internal Server Error). Am besten du löscht den Inhalt zwischen den geschweiften Klammern, sodass nur noch else{// Blog main page - list all posts } übrig ist.
Nachtrag: Ich habe dir zwar bei einem konkreten Problem geholfen, aber ohne die Überzeugung Gutes getan zu haben. 8 Blogeinträge sind nicht viel, wie sieht es bei 100 und mehr aus? Der User wird schon an einem Desktop das Scrollen verfluchen mit einen Smartphone wischt er sich die Finger wund.
Du wirst in deinen Blogs ohne Bilder auskommen müssen...etc.
lg
timebandit -
in: Hilfe gesucht.
geschrieben von timebandit
Hallo blogvvard,
nach langem Zögern und mit einigen Bauchschmerzen habe ich für dich einen Lösungsweg erstellt.
https://timebandit.lima-city.de/blogvvard/
lg
timebandit -
in: Unsichere Verbindung zur Homepage
geschrieben von timebandit
Hallo terrafertile,
meine .htaccess war nur als Beispiel gedacht und zufällig.
Tatsächlich wird bei der genannten Domain die non-www Variante bevorzugt
<link rel="canonical" href="https://tamara-martin.ch/wp/"/>
terrafertile schrieb:
Das sehe ich auch so.
Nuetzt aber eh nichts.
Die Grundkonstruktion der website ist fehlerhaft.
Ein Test bei Google https://search.google.com/test/mobile-friendly zeigt, dass keine Indizierung erfolgen wird.
Der PageSpeed ist unterirdisch
https://developers.google.com/speed/pagespeed/insights/
Die Website kann, falls keine gravierenden Änderungen vorgenommen werden, niemals in den SERPs prominent erscheinen.
lg,
timebandit
-
in: Unsichere Verbindung zur Homepage
geschrieben von timebandit
Hallo Internetplattform,
Domains mit ssl-Verschlüsselung haben immer 4 Varianten.
http://domain
http://www.domain
https://domain
https://www.domain
Üblicherweise wird dieses Problem via .htaccess gelöst.
In diesem Beispiel werden 3 Varianten auf https;//www.beispiel.de weitergeleitet.RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} ^beispiel\.de$ [NC] RewriteRule ^(.*)$ https://www.beispiel.de/$1 [L,R=301]
Du kannst das hier https://www.asmaro.de/tools/http-response.php testen.
Beachte die Unterschiede im HTTP Response zwischen tamara-martin.ch und tamara-martin.ch/wp.
Das Problem mit "mixed content" besteht weiterhin. Du findest im Quelltext beim span-tag <span class="et_pb_image_wrap "> eine Ursache
<span class="et_pb_image_wrap "><img src="http://tamara-martin.ch/wp/wp-content/uploads/2020/04/Bild-von-Tatutati-auf-Pixabay-2-2.png"...
Die Website deiner Arbeiskollegin dient wohl auch kommerziellen Zwecken.
Eine Anmeldung in Googles Search Console ist erfolgt und die Property bestätigt.
Die Website ist aber nicht im Index. Ein Seitenabruf (site:tamara-martin.ch) zeigt ein leeres Ergebnis.
Verzichte auf den iframe, der ist für Inhalte fremder Webseiten (z. B. Google Maps, YouTube) gedacht.
lg,
timebandit -
in: PHP Script verzögert ausführen
geschrieben von timebandit
horstexplorer schrieb:
Das könnte sich doch mit JS lösen lassen.
Jein. Mit JS bekommst du keinen direkten Zugriff auf den Server.
Mit AJAX kann man aber einen Request an ein PHP-Script absetzen.
etwa innerhalb eines JS-Scripts mit z. B. timeout() Funktion:
// nur grob schematisch: var xmlhttp = new XMLHttpRequest(),myJSON=JSON.stringify(irgend welche daten); xmlhttp.open("POST","da-sollen-die-daten-hin.php",true); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded",'Cache-Control', 'no-cache'); xmlhttp.send("request="+myJSON); -------------------------------------------------------------------------------------- da-sollen-die-daten-hin.php <? $obj = json_decode($_POST["request"], false); // schreib irgendetwas in die db ?>
lg,
timebandit -
in: Suchseitenoptimierung
geschrieben von timebandit
terrafertile schrieb:
Also, ich habe meine Seite bei Google Search Console angemeldet. Obwoht meine Seite (terrafertile.gr) ueber sehr wenig Inhalt verfuegt ( habe noch nicht mal Produkte aufgelistet), bin ich bei bestimmten und den von mir gewuenschten Suchanfragen bei den Ergebnissen weit oben. Sucht man z.B. bei Google nach Olive Oil Sitia, komme ich noch vor Firmen, die schon viel laenger bestehen und deren Seiten ueber viel Inhalt verfuegen.
Wenn ich deine Suchbegriffe (Olive Oil Sitia) bei Google eingebe, erscheint deine Website bei mir auf Seite 5 in den SERPs.
Beachte, dass die große Suchmaschine Suchergebnisse personalisiert und du möglicherweise etwas anderes ausgespielt bekommst als der Rest der Welt.
Die Search Console ist ein must have eines jeden Webmasters. Eine Anmeldung bei My Business ist mehr als anzuraten. Google Analytics hilft ebenso.
Wenn ich mir das Ranking von Vergleichsportalen aber allgemein ansehe, so bemerke ich, dass die meisten davon in den Keller rauschen. Die Zeiten für eine gute Sichtbarkeit bei Google ohne gezielte Werbekampagnien scheinen vorbei zu sein.rainbow22 schrieb:
Wie kann ich eine Suchseitenoptimierung am besten umsetzen? Bin über alle Ratschläge dankbar! :)
LG,
Tina
SEO ist ein sehr großes Wissensgebiet. Wenn du deine Website ohne SEO-Experten nach oben bringen willst, dann brauchst du viel Zeit, Geduld und einen absoluten Lernwillen. Der Google-Algorithmus besteht aus mehr als 200 Einzelbestandteilen, die eine unterschiedliche Gewichtung haben. Eine erste Lektüre zum Thema Suchmaschinenoptimierung findest du hier: https://support.google.com/webmasters/answer/7451184?hl=de
Halte dich an die Richtlinien für Webmaster und hüte dich aber vor Überoptimierung. Die Penalties von Google können gravierend sein.
Lg
timebandit
-
in: PHP, MSQL Update + variable
geschrieben von timebandit
hallo nusus
Mit einem normalen Wert funktioniert es z.b coins = coins +1. Aber es funktioniert nicht wenn ich die eins durch eine Variable ersetzte.
Eine Variable kann in PHP vieles repräsentieren. Eine Addition wird immer scheitern, weil PHP nicht unterscheiden kann ob es sich bei einer Variablen um einen Zahlenwert, oder einen String, oder ein Array handelt.
Die PHP-Funktionen is_numeric und/oder intval werden dein Problem lösen.
http://php.net/manual/de/function.is-numeric.php -
in: HTML-Tags lesen und bearbeiten
geschrieben von timebandit
strange schrieb:
Ganz einfach, DOM ist Overhead Central. Da ist man mit REGEX and klassischen str_replace() weitaus besser bedient. Wesentlich flexibler und weniger Overhead wenn man sich die Zeit nimmt das ganze richtig zusammen zu tüfteln.
Wo Du aber auf jeden Fall recht hast, das explode/implode der absolut falsche ansatz ist.
In oruam19's Beitrag 'semantischer-fehler-in-einem-php-skript' habe ich mich auch gegen explode und implode ausgesprochen und für eine andere Lösung plädiert. Das Thema beschäftigte mich aber weiterhin. Der erste Gedanke war natürlich preg_match und/oder preg_match_all zu verwenden. Das Problem ist aber nicht Buttons in <td>-Tags zu quetschen, sondern die Buttons interaktiv mit der jeweils richtigen URL zu versehen. Genau da versagen REGEX. str_replace(), substr_replace, etc...
Auch DOM löst das Problem nicht zufriedenstellend. Neben dem Overhead müsste auch die Nodelist die alle <td>-Tags beinhaltet, weiterverarbeitet werden.Die relevanten Werte(URL) müssen den entsprechenden <button>-Tags, die an der richtigen Stelle zu plazieren sind, übergeben werden.Was ich für fehleranfällig halte.
Kurz. Ich fiel auf das vorher von mir verteufelte explode zurück. Mit geeigneten Delimitern erhält man übersichtliche Arrays, die leicht und vorallem fehlerfrei bearbeitet werden können. Die Fahrpläne sind Original zweisprachig aus der Stadt Biel in der Schweiz. In meinem Artikel geht es im Kern um eben diese Fahrplantabelle. Aus didaktischen Gründen habe ich anfangs zwei einfachere Tabellen und explode(), implode() verwendet.
Mindestens Beispiel 1 läßt sich mit REGEX. str_replace() oder besser mit strpos() und str_replace() einfacher lösen. -
in: HTML-Tags lesen und bearbeiten
geschrieben von timebandit
Hallo Community,
inspiriert von oruam19's Beitrag https://www.lima-city.de/thread/semantischer-fehler-in-einem-php-skript
habe ich einen Artikel/Tutorial verfasst Im Forum tauchen immer mal wieder Fragen auf wie HTML-Tags via PHP ausgelesen bzw. bearbeitet werden können. Eine Antwort könnt ihr auf meiner noch Baustellehttps://timebandit.lima-city.de/php/tabelle.php finden.
Dort werden exemplarisch HTML-Tabellen ausgelesen und modifiziert.,
mfg timebandit
-
in: Interner Website Counter
geschrieben von timebandit
mukerbude schrieb:
Habe in die echo Zeile mit font color die Farbe verändern können, gibt es auch eine Möglichkeit die Schriftart und Größe auf diese einfache Weise zu ändern?
echo "<font color='#0080ff'>", ("".$count),"</font>";
fragt
Zunächst "font color" ist veraltet und sollte nicht mehr verwendet werden.
entweder so: echo '<span style="color:#0080ff;font-size:XXpx;font-family:xyz;">'.$count.'</span>';
oder mit CSS: echo '<p class="mypTag">'.$count.'</p>'; und in deinem Stylesheet die Klasse "mypTag" definieren. -
in: Semantischer Fehler in einem PHP-Skript
geschrieben von timebandit
oruam19 schrieb:
Hab's jetzt noch ein bisschen hingebogen....
GESCHAFFT! denke ich
Ich hab's hingekriegt, indem ich an dem $n rumgeschraubt habe
Vielen Dank @timebandit
Meinen Glückwunsch, @oruam19.
Ich meine aber, dass dein Script gründlich überarbeitet werden sollte. Ein gutes Script zeichnet sich auch durch nicht zu komplizierte Wartbarkeit aus. Kommentare innerhalb von Codezeilen sind immer hilreich.
Ich finde das Konzept(?) einen String, der ja bereits ein Tabellenformat hat, in ein bzw. mehrere Arrays zu quetschen, zu bearbeiten und dann wieder die einzelnen Arrays in Teilstrings und schließlich in einem Ausgabestring zusammenzukleben reichlich unpraktisch und fehleranfallig. Am sinnvollsten wäre imho eine Datenbankanbindung. Jedenfalls hast du für dich eine Lösung gefunden und Erfahrungen gesammmelt, wie mühsam ein Debugging von Scripts sein kann. -
in: Semantischer Fehler in einem PHP-Skript
geschrieben von timebandit
Die Variable $stops ist nicht initialisiert,deshalb funktioniert das Konstrukt nicht.
$value="<button class=\"w3-button\" onclick=\"location='?line=".$ln."&station=".urlencode($stops[$n-1])."&via=".urlencode($stops[$n+1])."'\">".$value;
Ich lasse mir hierfür noch etwas einfallen. -
in: Semantischer Fehler in einem PHP-Skript
geschrieben von timebandit
Füge an den Anfang deines Scripts diese beiden Codezeilen ein:
und sei nicht überrascht, wenn eine lange Liste an Meldungen angezeigt wird.ini_set('display_errors', 1); error_reporting(E_ALL);
Das komplette Script kenne ich nicht, aber der Code den du gepostet hast ist voller Fehler.
Die GET-Anweisungen funktionieren nicht, weil z.B. die Variable $stop nicht initialisiert wird.
In meinem Nachbau wirds richtig dargestellt.
<td><button class="w3-button" onclick="location='?station=Diamantstrasse'">Diamantstrasse </button></td>
-
in: Semantischer Fehler in einem PHP-Skript
geschrieben von timebandit
oruam19 schrieb:
Guten Morgen,
Also $out ist das, was unten an der Seite ist (unter "So sollte es aussehen"). So sollte es eben aussehen und einfach die Stationen und Linien sollten anclickbar sein (für genauere Angaben)
Wenn du nichts findest, versuche ich es sonst mal selber...
Ich habe dein Script mal nachgebaut natürlich ohne dein CSS.
$inStr='<div class="w3-container w3-display-container w3-card w3-margin w3-panel"><table class="w3-table w3-centered w3-margin"><tr><td></td><th>Linie 2</th><td></td><th>Linie 4</th><td></td></tr><tr><td>Diamantstrasse</td><td>→</td><td>Bahnhof Biel</td><td>→</td><td>Nidau, Bahnhof</td></tr></table></div><div class="w3-container w3-display-container w3-card w3-margin w3-panel"><table class="w3-table w3-centered w3-margin"><tr><td></td><th>Linie 2</th><td></td><th>Linie 6</th><td></td></tr><tr><td>Diamantstrasse</td><td>→</td><td>Gurnigelstrasse</td><td>→</td><td>Nidau, Bahnhof</td></tr></table></div><div class="w3-container w3-display-container w3-card w3-margin w3-panel"><table class="w3-table w3-centered w3-margin"><tr><td></td><th>Linie 7</th><td></td><th>Linie 4</th><td></td></tr><tr><td>Diamantstrasse</td><td>→</td><td>Bahnhof Biel</td><td>→</td><td>Nidau, Bahnhof</td></tr></table></div><div class="w3-container w3-display-container w3-card w3-margin w3-panel"><table class="w3-table w3-centered w3-margin"><tr><td></td><th>Linie 7</th><td></td><th>Linie 6</th><td></td></tr><tr><td>Diamantstrasse</td><td>→</td><td>Brüggmoos</td><td>→</td><td>Nidau, Bahnhof</td></tr></table></div> <div class="w3-container w3-margin w3-padding-48"><p> </p></div>'; $n=0; $inStr=explode("<table class=\"w3-table w3-centered w3-margin\">",$inStr); foreach($inStr as $value) {//echo $value.PHP_EOL; if($n>0) { $table=explode("</table>",$value)[0]; $table_r=explode("</table>",$value)[1]; $tds_tmp=explode("<td>",$table); $ths_tmp=explode("<th>",$table); foreach($tds_tmp as $td) { $td_tmp=explode("</td>",$td)[0]; if($td_tmp!="" &&$td_tmp!="→") $tds[]=$td_tmp; } foreach($ths_tmp as $th) { $th_tmp=explode("</th>",$th)[0]; $th_tmp_r=explode("</th>",$th)[1]; $ths[]=$th_tmp; $ths_r[]=$th_tmp_r; } foreach($ths as $key => $th) { $ln=explode($linie." ",$th)[1]; $th="<button class=\"w3-button\" onclick=\"location='?line=".$ln."&station=".urlencode($tds[$key])."&via=".urlencode($tds[$key+1])."'\">".$th."</button>"; $ths_b[]=$th."</th>".$ths_r[$key]; } $table=implode("<th>",$ths_b); /* ------------------------------ Hier steckt der Fehler ---------------------------------- //$value=$table."</table>".$table_r; ---------------------------------------------------------------------------------------------------*/ } $tables[]=$value; $n++; }
Als Verarbeitungsstring habe ich, wie von dir angegeben, die Variable $out verwendet und in $inStr umbenannt.
Hier mein Vorschlaghttps://timebandit.lima-city.de/forum-lima/fahrplan.php -
in: CSS hover anderes Element auswählen
geschrieben von timebandit
Achtung. Bei Touchscreens funktioniert hover nicht oder nur eingeschränkt.
Gerade wenn das Design responsive sein soll ist Javascript unentbehrlich.
Hierfür bietet sich beispielsweise das Konstrukt
an.ele.onmouseover=ele.ontouch=function(){bla bla;}
-
in: Semantischer Fehler in einem PHP-Skript
geschrieben von timebandit
Ok, ohne Db wird es umständlicher.
Welche Werte stehen im array $out deines Beispiels?
$out=explode("<table class=\"w3-table w3-centered w3-margin\">",$out);
Benutze hierfür var_dump($out) und poste die Werte. Ich werde versuchen die Tabellen nachzubauen. -
in: Semantischer Fehler in einem PHP-Skript
geschrieben von timebandit
oruam19 schrieb:
Hi Leute,
Ich arbeite gerade an einem kleinen Projekt: http://busfahrplan-biel.tk
Das Ziel ist einfach: einen neuen Busfahrplan für meine Stadt :) Da ich mich jedoch nicht so gut mit PHP auskenne, habe ich einen Kollegen um Unterstützung gebeten und er hat mir auch geholfen... Jedoch gibt es seit der letztes Änderung einen Fehler und mein Kollege hat gerade nicht so viel Zeit also dachte ich, ich nehme das mal selber in die Hand und frage hier.
Also: wenn man jetzt zu der Seite navigiert, und dort z.B von Diamantstrasse nach Nidau, Bahnhof schreibt, zeigt es alle Verbindungen an, jedoch sind viele doppelt (und mehr). Je weiter man nach unten scrollt, desto mehr werden es. Also muss es wohl an irgendeiner Schleife liegen.... Zudem ist der HTML-Code ein bisschen schräg..
Schon mal danke im Vorraus
Bei den vielen implode und explode wird einem schon schwindelig.
Du verwendest sicherlich eine DB. Dein Projekt lässt sich effizienter und deutlich übersichtlicher gestalten.
Denn genau darum gehtsJedoch gibt es seit der letztes Änderung einen Fehler
Gute Scripte sind leicht zu warten, was bei deinem Code offensichtlich nicht der Fall ist.
Poste mal deine Db-Abfrage, dann wird dir sicherlich geholfen. -
in: Div Overflow bei JS
geschrieben von timebandit
Eigentlich funktioniert das schon mit dem style: overflow-y: auto;
Habe mal eine Lösung zusammengebastelt.
https://timebandit.lima-city.de/horst.html -
in: Wie kann ich meine Webeite sicherer machen? PHP
geschrieben von timebandit
fs-host schrieb:
timebandit schrieb:
2.) Passwörter verschlüsseln
$passwort = 'MeinGeheimesPasswort';
$hash = password_hash($passwort, PASSWORD_DEFAULT);http://php.net/manual/de/function.password-hash.php
3.) Daten aus Logins und Kontaktformularen genauestens überprüfen.
Einträge in die Datenbank und Abfragen über PDO oder mysqli.
Achtung, Passwörter hashen ist nicht ganz so einfach, wie es klingt. Algorithmen können unsicher sein und man muss wissen, was man mit dem Salt macht etc. Zusätzlich musst du nach den neuen Bestimmungen sogar evtl. die DGSVO beachten...
Das gilt vor allem für Kontaktformulare :)
Und wenn du mysqli nutzt, sind prepared Statements sehr gut
Achtung, Passwörter hashen ist nicht ganz so einfach, wie es klingt. Algorithmen können unsicher sein und man muss wissen, was man mit dem Salt macht etc.
Im PHP-Manual(siehe obigen Link) steht z.B.
Warnung
Die salt Option wurde von PHP 7.0.0 an missbilligt. Es wird nun empfohlen einfach das Salt zu verwenden, dass standardmäßig erzeugt wird.
Achtung
It is strongly recommended that you do not generate your own salt for this function. It will create a secure salt automatically for you if you do not specify one.
Achtung
As noted above, providing the salt option in PHP 7.0 will generate a deprecation warning. Support for providing a salt manually may be removed in a future PHP release.
Wer also mit salt hantieren möchte, der proggt in der Vergangenheit.
Zusätzlich musst du nach den neuen Bestimmungen sogar evtl. die DGSVO beachten...
Das hat mit dem Thread nichts zu tun. Hier geht es um Server- bzw. Datenbanksicherheit und nicht um Verbraucherschutz.
Und wenn du mysqli nutzt, sind prepared Statements sehr gut
Da hast du absolut recht. -
in: kann z.B. die footer Datei nicht runterladen
geschrieben von timebandit
Benutzt du einen MAC?
Hier wird möglicherweise dein Problem beschrieben und gelöst.
https://www.tiramigoof.de/de/?p=6836
Wenn FTP-Programme nicht funktionieren, dann erzwinge den Download mit diesem Script.
#download erzwingen $file = 'footer.php'; if (file_exists($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); exit; }
Benenne das Script "mitwasauchimmer.php". Lade die Datei in das Verzeichnis der footer.php via FTP(S).
Öffne https://..../.... /"mitwasauchimmer.php" und dein Problem sollte gelöst sein.
-
in: PHP call api variable einfügen
geschrieben von timebandit
nusus schrieb:
Ah Okay, sehe denn Fehler hatte vergessen die Variable zu setzen
An dieser Stelle sei noch einmal erwähnt, dass zur Entwicklungszeit diese zwei Codezeilen sinnvoll sind.
ini_set('display_errors', 1); error_reporting(E_ALL);]
Sie erleichtern das Debuggen wesentlich.
Für obiges Problem wird folgende Fehlermeldung ausgegeben.
Notice: Undefined variable: user
Für den Onlinebetrieb müssen diese Zeilen wieder entfernt werden. -
in: Anmeldung per PHP
geschrieben von timebandit
jonas-cramer-pictures schrieb:
Wenn ich auf meiner Website eine Anmeldung über PHP erstelle, ist es da möglich auch ohne Anmeldedaten sich anzumelden? Also welche Lücken gibt es und wie schließt man sie?
Wie soll eine Anmeldung ohne Anmeldedaten funktionieren?
Ein Mindestmaß an Daten ist da schon erforderlich. Oder verstehe ich da etwas falsch?
Wenn du auf Registrierung und Login verzichten willst, dann bleiben nur Cookies als Möglichkeit übrig. -
in: Wie kann ich meine Webeite sicherer machen? PHP
geschrieben von timebandit
jonas-cramer-pictures schrieb:
...
Und zwar habe ich in einer anderen Website, die ich aus Schulgründen erstellt habe ziemlich viel PHP verwendet und mich würde mal interessieren wie ich das absichern kann, also das sich da keinen so schnell reinhackt.
LG Jonas
Deine kleine Frage ist ein großes Thema.
Weil du leider keine konkreten Angaben darüber machst, was geschützt/abgesichert werden soll, kann ich dir nur allgemeine Antworten geben.
1.) Dateien und Ordner schützt du am besten mit .htaccess;https://www.lima-city.de/hilfe/wie-kann-ich-ein-verzeichnis-mit-einem-passwort-schuetzen
2.) Passwörter verschlüsseln
$passwort = 'MeinGeheimesPasswort';
$hash = password_hash($passwort, PASSWORD_DEFAULT);http://php.net/manual/de/function.password-hash.php
3.) Daten aus Logins und Kontaktformularen genauestens überprüfen.
Einträge in die Datenbank und Abfragen über PDO oder mysqli.
4.) Dateiupload streng kontrollieren und nur eingeschränkt erlauben..
und, und, und...
Ausserdem: teste deine inputs auch die versteckten mit z.B.<script>alert('XSS-Attacke erfolgreich');</script>
Öffnet sich ein popup, dann mußt du handeln. Es sollten keine Fehlermeldungen ausgegeben werden. Für potenzielle Angreifer liefern Errors wichtige Informationen.
Entferne, falls in deinen Scripten vorhanden,ini_set('display_errors', 1); error_reporting(E_ALL);
oder ähnliches. -
in: Nach gelöschtem Tab automatisch zum Ursprung zurück springen
geschrieben von timebandit
hallo mukerbude,
Wenn es denn funktionieren würde.
Wenn du z.B. NoScript oder ähnliches laufen lässt, dann wird natürlich die Ausführung von Javascript blockiert.
Im FF als Consolenmeldung:
Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf self blockiert ("script-src"). Source: call to eval() or related function blocked by CSP.
Ohne Blocker funktioniert horstexplorers modifizierter Code. -
in: Nach gelöschtem Tab automatisch zum Ursprung zurück springen
geschrieben von timebandit
Hallo horstexplorer, hallo tchab.
warum horstexplorers "Lösung" nicht in allen Browsern funktioniert liegt an der Content-Security-Policy.
In der PHP-Variante einfach einen header mitschicken:
header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline';")
https://timebandit.lima-city.de/newtab.php
oder als HTML-Version einen meta-tag einfügen
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'unsafe-inline'">
https://timebandit.lima-city.de/htmltab.html
Aber eigentlich sollte man auf ein Öffnen von Tabs oder Fenstern verzichten. -
in: Bereich auf mehreren Seiten unterschiedliche Farben
geschrieben von timebandit
Ändere deine format.css Zeile 294.
dort steht background: steelblue;
ändern background:linear-gradient(to right, white 0%, steelblue 100%);
Das wird das gewünschte Ergebnis erzielen.
Beispiele hierfür gibt es auf meiner Baustelle:https://www.timebandit.lima-city.de/css/gradient.php -
in: Umsetzung der Datenschutzgrundverordnung
geschrieben von timebandit
Auf dieser Seite https://www.blogmojo.de/wordpress-plugins-dsgvo/ findet ihr eine Übersicht der WP-Plugins, die problematisch sein könnten. -
in: Umsetzung der Datenschutzgrundverordnung
geschrieben von timebandit
Eine ähnliche Verunsicherung fand bei der Einführung der Impessumpflicht für Websitebetreiber im Mai 2010 statt.
Heute wird das allgemein akzeptiert. Jetzt müssen wir unsere Webseiten mindestens mit einer Datenschutzerklärung versehen. Ein Link auf diese muß auf allen Seiten vorhanden sein.
Seit 2016 dürfen auch Verbraucherschutzorganisationen Abmahnungen erteilen und auf Unterlassung pochen.
Die Wahrscheinlichkeit eine Abmahnung zu erhalten ist meines Erachtens zwar gering, aber dennoch vorhanden.
Natürlich sind diesbezüglich noch keine Urteile in der Rechtsprechung vorhanden an denen wir uns orientieren können.
Aber es ist sicherlich besser eine Website rechtskonform aufzupeppen, denn das kann auch mehr Vertrauen bei den Usern.schaffen
Im übrigen stimme ich der Meinung von karpfen zu.
-
in: Umsetzung der Datenschutzgrundverordnung
geschrieben von timebandit
timebandit schrieb:
Ebenso verhält es sich beispielsweise bei Kontaktformularen.
Na was ein Blödsinn! Wenn ich es nutze bin ich einverstanden und wenn ich nicht einverstanden bin nutze ich es eben nicht sondern wähle einen anderen Weg der Kontaktaufnahme!
Typisch EU!
Datenschutz muß aber sein. Der jüngste Skandal um Facebook zeigt das doch deutlich.
Die neue Verordnung stärkt die schützenswerten Rechte der Nutzer. Was aber in der Praxis ein Ärgernis für den User darstellen kann, wenn überall ein Kontrollkästchen angeklickt werden soll.
Wir als Websitebetreiber(Diensteanbieter) müssen aber auf die Neuerungen entsprechend reagieren. Leider... -
in: Umsetzung der Datenschutzgrundverordnung
geschrieben von timebandit
turmfalken-nikolai schrieb:
Habe schon versucht mich da reinzulesen aber spätestens wenn ich auf Seite 10 bin weiß ich schon nicht mehr was der Kauderwelsch auf Seite 2 bedeutet
Diese Formulierungen in Beamtendeutsch zu verstehen geht ja fast gar nicht. Bin schließlich Elektrofachkraft und kein Jurist!
Kein leichter Tobak, das stimmt.
Hier die sogenannte Cookie-Richtlinie:
Artikel 5 Absatz 3
Die Mitgliedstaaten stellen sicher, dass die Speicherung von Informationen oder der Zugriff auf Informationen, die bereits im Endgerät eines Teilnehmers oder Nutzers gespeichert sind, nur gestattet ist, wenn der betreffende Teilnehmer oder Nutzer auf der Grundlage von klaren und umfassenden Informationen, die er gemäß der Richtlinie 95/46/EG u. a. über die Zwecke der Verarbeitung erhält, seine Einwilligung gegeben hat.
Bisher befanden sich Hinweise, dass Cookies eingesetzt werden, entweder in der Datenschutzerklärung und/oder es wurde ein Hinweis eingeblendet.
Das reicht jetzt nicht mehr aus. Ein Nutzer muß die Möglichkeit haben seine Einwilligung zu geben.
Ebenso verhält es sich beispielsweise bei Kontaktformularen. -
in: Umsetzung der Datenschutzgrundverordnung
geschrieben von timebandit
Die DSGVO gilt bereits seit Mai 2016. Die Frist für nationale Umsetzung beträgt meines Wissens 3 Jahre.
In Deutschland wird die Datenschutzgrundverordnung im Mai umgesetzt.
Es existiert die weit verbreitete Meinung, dass nur Unternehmen davon betroffen sind.
Das ist aber tatsächlich nicht der Fall. -
in: Umsetzung der Datenschutzgrundverordnung
geschrieben von timebandit
turmfalken-nikolai schrieb:
Haben denn die einzelnen Regierungen das schon in nationales Recht umgesetzt?
Diese Verordnung gilt für alle Mitgliedsstaten innerhalb der EU. Bei uns erfolgt die Umsetzung am 25.Mai 2018.
Zugegeben das meiste in dieser Verordnung brauchen wir nicht zu berücksichtigen.
Aber besonders bei Cookies, Kontaktformlaren, Cms und deren Plugins, Social Media und nicht zu vergessen googlanalytics heißt es Vorsicht walten zu lassen. -
in: Umsetzung der Datenschutzgrundverordnung
geschrieben von timebandit
Hallo Community,
wichtige Änderungen für Websitebetreiber gelten ab 25.Mai 2018.
Die Thematik scheint aber noch nicht wirklich im Forum angekommen zu sein.
Zur Vertiefung: https://www.datenschutz-grundverordnung.eu/wp-content/uploads/2016/04/CONSIL_ST_5419_2016_INIT_DE_TXT.pdf . Achtung 260 Pdf-Seiten.
Diese Verordnung schützt die Interessen der User und nimmt Diensteanbieter in die Pflicht.
Habt ihr schon auf die DSGVO reagiert und mindestens eure Datenschutzerklärung angepasst?
Auf eine rege und gehaltvolle Diskussion freue ich mich. Beteiligt euch bitte bei der Abstimmung. -
in: Automatische Aktualisierung von Bildern
geschrieben von timebandit
muellerlukas schrieb:
Da hast du sicherlich recht. Berücksichtigt man den entstehenden Traffic, dann ist Ajax die bessere Variante.
Was für ein unnötiger Aufwand. Vor allem, da es ja nicht um die Seite an sich geht. Es geht um ein eingebundenes Bild.
.
Ich habe auf meiner Baustellehttps://www.timebandit.lima-city.de/ajax.php
einen Lösungsvorschlag für Reinholds Problem. -
in: Automatische Aktualisierung von Bildern
geschrieben von timebandit
Ich empfehle für solche Aufgaben Ajax.
Relevant wäre dann:xmlhttp.setRequestHeader('Cache-Control', 'no-cache'); xmlhttp.send();
Für meta-tags siehe:
http://wiki.selfhtml.org/wiki/HTML/Kopfdaten/meta
<meta http-equiv="expires" content="0">
oder
<meta http-equiv="expires" content="Sat, 12 Jun 2010 12:00:00 GMT">
oder ergänze den Code von horstexplorer noch mitheader("Expires: Sat, 12 Jun 2010 12:00:00 GMT");
-
in: Firefox verweigert Flex-Darstellung
geschrieben von timebandit
Korrigiere deine CSS
zeile 53:
main section {
width: 100%;
overflow-y: scroll; neue media-regel @screen and (min-width:801px)
flex: 3 1 0;
}
zeile 118:
main section, main section:first-child {
min-height: min-content;
overflow: hidden;
padding-top: 0px;
}
müsste so funktionieren. -
in: Php: Code aus Variable ausfürhen und anzeigen
geschrieben von timebandit
horstexplorer schrieb:
Für was braucht man hier root-rechte? readfile funktioniert ohne root.
Das deaktivieren von Funktionen hat nichts mit readfile zu tun. Man würde über disable_functions alles was 'gefährlich' ist deaktivieren können. Dafür benötigt man natürlich eine .ini Datei welche von php geladen wird. Ich weiß nicht wie das auf Lima aussieht ob diese Dateien im Webroot erkannt werden. Sonnst müsste man sie ja in das Verzeichnis von PhP legen bzw den Pfad umkonfigurieren. Kann aber natürlich sein, dass hier keine root Rechte benötigt werden und das ganze unter Lima funktioniert. Dann könnte man das schon ohne großen Aufwand auf 'sicher' umbauen.
Weiß ned ob man auch openbasedir konfigurieren muss. Hab mir das nicht angesehen.
Deine Antwort ist voller Konjunktive.
Zur Erhellung dienen
phpinfo(); zeigt dir die Konfiguration auf z.B. Lima
ini_get();
ini_set();
Ich glaube zum Thema ist inzwischen so ziemlich alles gesagt. Ich bin raus. -
in: Php: Code aus Variable ausfürhen und anzeigen
geschrieben von timebandit
horstexplorer schrieb:
Nun ja ganz so evil ist es nicht.
Das ist deine Meinung. Ich bleibe bei meiner Behauptung.
horstexplorer schrieb:
Aber dafür bräuchte man root um entsprechende Funktionen von PhP zu deaktivieren,
Für was braucht man hier root-rechte?
readfile funktioniert ohne root.
Verzeichnis auslesen funktioniert ohne root
Falls Dateien noch Zugangsdaten in Klartext liefern, dann rollt eine Lawine.
horstexplorer schrieb:
Aber wie bereits gesagt das ganze auf Lima, und ohne Kenntnisse was alles Schaden anrichten könnte aufzusetzen sollte man lassen. Das ist was für lokale Testserver und gehört nicht ans Netz.
Da stimme ich dir uneingeschränkt zu. -
in: Php: Code aus Variable ausfürhen und anzeigen
geschrieben von timebandit
Hallo darvin,
grundsätzlich eval is evil und sollte vermieden werden.
siehe auch:http://php.net/manual/de/function.eval.php
Auch andere Konstrukte, die einem User gestatten ausführbaren Code zum Server zu schicken, solltest du nicht in Betracht ziehen.
Mit readfile lade ich mir Dateien von deinem Webspace.
Ein Dateiupload ist ein Kinderspiel.
Also lass das, wenn du Herr deiner eigenen Webseiten bleiben willst. -
in: Php include statt Iframe
geschrieben von timebandit
Für die Ausgabe etwaiger Fehlermeldungen:(Nur während der Entwicklungszeit)
ini_set('display_errors', 1); error_reporting(E_ALL);
Wahrscheinlich wird das Verzeichnis 'calculator' nicht gefunden.
Lösung hierfür wäre zB.
include $_SERVER['DOCUMENT_ROOT']."/tools/calculator/index.php";
oder mit require
Andereseits stellt sich die Frage warum du in eine index.php eine weitere Datei gleichen Namens einbinden willst? -
in: Meta-Tags mit JS auslesen ?
geschrieben von timebandit
document.getElementsByTagName(xyz) liefert nur eine Nodelist.
Mehr Möglichkeiten bietet eine Umwandlung der Nodelist in ein Array.
<script> function checkMeta(){ var meta = document.getElementsByTagName('meta'), // Liefert nur eine Nodelist n=''; metas= [].slice.call(meta); // Umwandlung der Nodelist in ein Array metas.forEach(function(obj,i){ //beispielsweise: console.log(obj.outerHTML); // Ausgabe in der Konsole // oder String erzeugen für die Ausgabe in einer Messagebox n+=obj.outerHTML+'\n'; // oder....oder } ); alert(n); // Ausgabe in einer Messagebox; } window.onload = function() {checkMeta()}; // Aufruf der anonymen Funktion checkMeta() </script>
-
in: Login (Mit Weiterleitung)
geschrieben von timebandit
if ($data[0] == $log_user && $data[1] == $log_pass) {
Wurde die Variable $data als Array deklariert?
In diesem Codeabschnitt fehlt nämlich $data = array();
-
in: disabledte inputs senden.
geschrieben von timebandit
Allerderdings übermittelt er den wert nicht wenn die inputs disabled sind . Kann mir da jemand helfen?
Weshalb sollte $_POST Daten aus "disabled fields" übertragen? Das ist doch ein Widerspruch.
Deshalb werden $_POST["betreff"] und $_POST["main"] im $_POST-Array nicht angelegt.
Für eine Datenübertragung an die verarbeiten.php müsstest du die Variablen in eine Session packen. -
in: FTP- readfile() Download kaputter Datein
geschrieben von timebandit
Versuche mal
anstatt
mitheader('Content-Type:'.$mime_type);
zu ersetzen.header('Content-Type: application/octet-stream');
-
in: MySQL webhoster
geschrieben von timebandit
php-test1 schrieb:
Leider hat Lima-City gerade ein Problem mit den Datenbanken-Servern. (lima-status.de) Sie sind heute nicht online, und sie waren auch den ganzen monat noch nicht online. Dort muss es dann bestimmt Probleme geben.
Um genauere Informationen zu erfahren, währe es besser, wenn du ein Support-Ticket schreibst.
Und wenn die Datenbanken Down, oder nur sehr langsam laufen, sind die Antwortzeiten dann leider auch länger.
Das kann ich nicht bestätigen. Der Statusanzeige sollte man in diesem Fall nicht vertrauen.
Meine Datenbankverbindung läuft heute, gestern und auch die vergangenen Tage hinweg reibungslos....
Probleme könnten veraltete Scripte bereiten, die seit dem PHP-Upgrade eingeschränkt funktionieren oder gar nicht laufen. -
in: iframe 100% width html5 validation
geschrieben von timebandit
Fehler liegt darin: width="100%"
HTML5 verlangt Höhen- und Breitenangaben des iframes in Pixel. -
in: Eigener Text statt Fehlermeldung / Verfügbarkeit einer API
geschrieben von timebandit
Vorschlag:
Response-Header abfragen.
$url = 'http://api.captainteemo.com/player/euw/iNono/recent_games'; $out = get_headers($url); echo "ANTWORT: ".$out[0]."<br>"; if($out[0]=="HTTP/1.0 200 OK"){ echo "ALLES OK";} else{echo "ETWAS LIEF SCHIEF";}
-
in: Eigene php.ini
geschrieben von timebandit
tchab schrieb:
Auch wenn ich bezweifle, dass man damit das Upload-Limit aushebeln kann. ^^
Über Grenzen Aushebeln kann man das Upload-Limit nicht.
Die Grenze liegt meines Wissens nach bei 2MB.
upload_max_filesize=2M
Das reicht für die Zwecke des TE vollkommen aus.
-
in: Eigene php.ini
geschrieben von timebandit
tchab schrieb:
Auf Lima kann man keine eigene php.ini platzieren. ;)
Doch!
Veränderbar: PHP_INI_PERDIR
PHP_INI_USER
PHP_INI_ALL
Nicht veränderbar: PHP_INI_SYSTEM -
in: Eigene php.ini
geschrieben von timebandit
hft schrieb:
Moin, Moin
ich habe schon das Forum, nach passenden Einträgen durchforstet, doch leider nichts gefunden, daher eröffne ich dieses neue Thema.
Kann mir einer verraten, ob wir hier bei Lima eine eigene php.ini implementieren dürfen auf dem Server?
Weil habe Joomla 3.1 installiert und nun mekkert Joomla, das meine Uploadgrösse unter 2MB sei...
Ansonsten, ist der Upload hier beschränkt auf xy MB pro Datei?
Wenn ja, wie kann man das ändern......gegen Kohle?
Danke für eure Antworten.
Gruss
HFT
Ja. Du erstellst mit einem Texteditor (z.B.Notepad++) eine eigene php.ini und schiebst diese dann in dein Verzeichnis.
Der Inhalt deiner eigenen INI-Datei benötigt diesen Eintrag:
upload_max_filesize=2M
Ein Verzeichnis der PHP.INI Direktiven findest du hier
-
in: db connection prüfen
geschrieben von timebandit
Füge nach
$db=new mysqli('mysql.lima-city.de','USER******','**','db_******_**');
das hier ein
if (mysqli_connect_errno()) { printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());}
-
in: PHP-Code vor include parsen
geschrieben von timebandit
nie-genug-gewuerzt schrieb:
Trotzdem nochmal vielen Dank für deine Arbeit! Aber wenn du bei deinem "herumspielen" nicht doch noch eine Möglichkeit gefunden hast wie man lima-interne Seiten nutzen kann, werde ich das wohl nicht realisieren können.
In diesem Beispiel wurde dreimal file_get_contents() eingesetzt.
Das Script dazu:
ini_set('display_errors', 1); error_reporting(E_ALL); // mit Wurzelverzeichnis $richtig = file_get_contents("{$_SERVER["DOCUMENT_ROOT"]}/nie-genug-gewuerzt/index.html"); echo <<<FGC <!DOCTYPE Html> <html> <head> <title>FILE_GET_CONTENTS</title> </head> <body> <h1 style="color:blue">file_get_contents klappt mit ["DOCUMENT_ROOT"]</h1> $richtig <br><br> <h1 style="color:red"> file_get_contents klappt nicht mit der URL innerhalb von lima</h1> FGC; // mit URL innerhalb lima $falsch = file_get_contents("http://timebandit.lima-city.de/nie-genug-gewuerzt/index.html"); echo $falsch; echo '<h1 style="color:blue"> file_get_contents klappt mit der URL außerhalb von lima</h1>'; // mit URL außerhalb lima $google = file_get_contents("http://google.com"); echo $google; echo "</body></html>";
-
in: PHP-Code vor include parsen
geschrieben von timebandit
Habe mal file_get_contents herumgespielt:
file_get_contents funktioniert
a) wenn du das Wurzelverzeichnis verwendest;
b) wenn du auf einen anderen Server zugreifst(ist ohnehin Standardeinstellung).
file_get_contents funktioniert nicht, wenn du innerhalb des Limaservers die URL verwendest!
Hier ein kleines Beispiel -
in: PHP-Code vor include parsen
geschrieben von timebandit
Ein Aufruf einer Seite mit der Funktion file_get_contents() innerhalb des Limaservers ist meines Wissens nach nicht möglich.
fopen() sollte funktionieren. -
in: Dateien via HTML und PHP hochladen
geschrieben von timebandit
Der Server wird dein Verzeichnis so nicht finden. Verwende besser das Wurzelverzeichnis.
Wenn deine Datei im Ordner vosliker.lima-city.de/public_html liegt, dann genügt
$uploaddir = "{$_SERVER["DOCUMENT_ROOT"]}/public_html/";
ansonsten $uploaddir = "{$_SERVER["DOCUMENT_ROOT"]}/dein/Pfad/zum/public_html/";
Das könnte dann etwa so aussehen:
if(preg_match('/\\.(txt|jpg|png)$', $_FILES["datei"]["name"]) && $_FILES["datei"]["size"] > 0 && $_FILES["datei"]["size"] < 1000000) { $uploaddir = "{$_SERVER["DOCUMENT_ROOT"]}/dein/Pfad/zum/public_html/"; // Pfad anpassen /* Hier könnte noch eine Überprüfung vorgenommen werden, ob das Verzeichnis existiert if(is_dir($uploaddir))*/ if(move_uploaded_file($_FILES["datei"]["tmp_name"],$uploaddir.$_FILES["datei"]["name"])) { header("Location: status.html"); } else { echo "<h1>Der Upload ist gescheitert</h1>"; } } else { echo "Entweder ist keine Datei ausgewählt oder die Datei ist zu groß!"; }
-
in: HTML Tabelle mit Bildgröße in %
geschrieben von timebandit
Bilder in Tabellen zu integrieren führt häufig zu Darstellungsproblemen(siehe SELFHTML).
Die Höhenangabe von Images in Pixel oder Prozent ist da eher nebensächlich.
Du wirst die Dimension der Bilder in Abhängigkeit der Tabellenreihen dynamisch berechnen müssen.
SEO-freundlicher und moderner ist die Verwendung von DIVs. -
in: Dateien via HTML und PHP hochladen
geschrieben von timebandit
if (preg_match($_FILES["datei"]["size"] > 0 && $_FILES["datei"]["size"] < 1000000) move_uploaded_file($_FILES["datei"]["tmp_name"],"public_html/".$_FILES["datei"]["name"]); header("Location: status.html");
Dort fehlen schließende bzw. öffnende Klammern.
Korrigiert sieht das so aus:
Edit
if (preg_match($_FILES["datei"]["size"] )> 0 && $_FILES["datei"]["size"] < 1000000)
{move_uploaded_file($_FILES["datei"]["tmp_name"],"public_html/".$_FILES["datei"]["name"]);
header("Location: status.html");}
-
in: Suche Präs. Themen
geschrieben von timebandit
Verbindung von Medizintechnik und Haut:
Herstellung von Hautgewebe im Reagenzglas zu Transplantationszwecken.
Anwendung in der plastischen Chirurgie zur Behandlung schwerer Verbrennungen. -
in: HTML Tabelle mit Bildgröße in %
geschrieben von timebandit
HTML5
Differences Between HTML 4.01 and HTML5
In HTML 4.01, the height could be defined in pixels or in % of the containing element. In HTML5, the value must be in pixels.
Zeilenhöhe in Tabellen allgemein(Quelle: SELFHTML):
Die Angabe zur Zeilenhöhe ist nur wirksam, wenn der Inhalt in jeder Spalte der Zeile kleiner ist, so daß leerer Raum entsteht. Wenn der Inhalt größer ist, wird die Angaben außer Kraft gesetzt. Die Zeile wird in diesem Fall so dimensioniert, daß der gesamte Inhalt angezeigt wird. Das ist beispielsweise der Fall, wenn in der Zeile eine Grafik vorkommt, die höher ist als die angegebene Zeilenhöhe.
Falls Sie zugleich eine bestimmte Höhe der gesamten Tabelle angeben, hat die Angabe zur Gesamthöhe im Konfliktfall Vorrang gegenüber der angegebenen Höhe einer einzelnen Zeile. -
in: move_uploaded_file in übergeordnetes Verzeichnes
geschrieben von timebandit
mit code=html bzw. php
Probier mal das:
$benutzername='Dein Name'; $passwort='Dein Passwort'; $ftp_server='ftp.lima-city.de'; if(!empty($_POST['send']) && $_FILES['userfile']['name'] !="") { $connection_id = ftp_connect($ftp_server); $login_result = ftp_login($connection_id, $benutzername, $passwort); if ((!$connection_id) || (!$login_result)) { echo "<h1>FTP-Verbindung konnte nicht hergestellt werden!<h1>"; echo "<p>Verbindung mit FTP-Server als Benutzer {$benutzername} nicht möglich!</p>"; die; } else { $status = "<p>Verbunden mit FTP-Server als Benutzer {$benutzername}</p>"; } $uploaddir = {$_SERVER["DOCUMENT_ROOT"]}/../bla/gallery/; if(is_dir($uploaddir)) { $upload = ftp_put ($connection_id,$_FILES['userfile']['name'],$uploaddir, FTP_ASCII); if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$_FILES['userfile']['name'])) { echo "<strong><li>'{$_FILES['userfile']['name']} </li></strong> wurde erfolgreich hochgeladen."; } else { echo "Ein Fehler ist beim Datei-Upload aufgetreten"; } } ftp_close($connection_id); unset($_POST['send']); }
Verwende meine Inputform oder passe den Codeschnipsel deinen Erfordernissen an.
Beachte auf alle Fälle die Begrenzung hinsichtlich Dateigröße und -format. -
in: move_uploaded_file in übergeordnetes Verzeichnes
geschrieben von timebandit
Verwende das Wurzelverzeichnis.
$orgpath = "{$_SERVER["DOCUMENT_ROOT"]}/../bla/gallery/"
Als Rohfassung kannst du das verwenden:
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $orgpath .$_FILES['userfile']['name'])) { echo "<strong><li>'{$_FILES['userfile']['name']} </li></strong> wurde erfolgreich hochgeladen.";}
Ich gehe mal davon aus, dass der Imput etwa so ausschaut:
<form enctype="multipart/form-data" action="" method="POST"> <?php echo $status;?> <p>Diese Datei hochladen: </p><input name="userfile" type="file" > <input type="submit" name="send" value="upload"> </form>
Codeschnipsel ist allerdings ungetestet... -
in: mehrere SQL Wert in einer Variabel
geschrieben von timebandit
Wie bereits gesagt, wandelt die Funktion implode() ein Array in einen String um.
$alles_in_der_variable = implode (" ", $daten);
Nur ne Frage: Was kommt in diese leeren Anführungszeichen in der Klammer, bzw warum sind die da?
In diese "leeren Anführungszeichen" kommt das Zeichen, mit dem du die Arrayelemente innerhalb des Strings trennen willst.
In diesem Fall ist es ein Leerzeichen(chr32).
Der erzeugte String sieht demnach so aus: Wert1 Wert2 Wert3 ...Wertn+1
Falls du Kommas oder Punkte oder Strichpunkte verwenden willst, dann werden die Arrayelemente mit den entsprechenden Zeichen separiert.
Z.B.$alles_in_der_variable = implode (";", $daten);
liefert Wert1;Wert2;Wert3; ...Wertn+1 -
in: if bedingungen erweitern
geschrieben von timebandit
themind schrieb:
Es kommt drauf an, wass dort mit JavaScript/HTML eingeführt wurde.
Willst du verhindern dass ein Bot sich automatisch registriert? Captcha.
HTML-Eingaben hast du doch bereits erfolgreich mit htmlspecialchars() weggemacht,
ansonsten gibt es da nichts zutun.
Hier gibt es erheblich viel zu tun!
Zunächst sollten veraltete(deprecated) Funktionen wie $eintragen = mysql_query($eintrag); durch aktuellere Funktionen ersetzt werden. Die mysqli-Funktionen, noch besser PDO, in Verbindung mit Prepared Statement gewährleisten einen hohen Schutz vor SQL-Injektionen.
Captchas sind für Bots nicht wirklich ein Problem.
Interessant wäre der Eintrag(Injektion) in der/den Datenbanktabelle(n), denn dann lassen sich Rückschlüsse auf das/die schwache(n) Script(e) ziehen.
-
in: TrueCrypt öffnen Fehler (Linux)
geschrieben von timebandit
Eine Antwort und Lösung findest du
hier unter Punkt 10.1
-
in: jQuery - JSONP Ergebnis Ausgabe (each)
geschrieben von timebandit
Versuchs mal damit:
$.each(resdata.synsets, function(synkey, synval){ $.each(synval.terms, function(tkey, tval){ $('#result1').append("<br />" + tval.term + "\n"); }); }); $.each(resdata.similarterms, function(simkey, simval){ $('#result2').append("<br />" + simval.term + "\n"); }); $.each(resdata.substringterms, function(subkey, subval){ $('#result3').append("<br />" + subval.term + "\n"); }); $.each(resdata.startswithterms, function(stukey, stuval){ $('#result4').append("<br />" + stuval.term + "\n"); });
-
in: XSS - Angriffe verhindern
geschrieben von timebandit
Du könntest dein XSS-anfälliges Script posten.
Deine Dateien könnten auch über andere Wege (z.B. FTP-Zugangsdaten) manipuliert worden sein.
Grundsätzlich müssen alle eingehenden Daten (auch $_SERVER(), Cookies, etc.) validiert werden.
-
in: Breite eines Textes erkennen und evtl Größe ändern
geschrieben von timebandit
Wie wäre es mit einem einfachen Zeilenumbruch in CSS?
word-wrap:break-word;
Die Länge des Textelements ermitteln:
var laenge = document.getElementById("MeineID").innerHTML.length; -
in: Content dynamisch nachladen
geschrieben von timebandit
Du könntest Heredoc verwenden.
echo <<<EOT <script type="text/javascript"> $(document).ready(function() { $("#refresh").load('templates/lastthree.tpl.php?sid=$sid'); var refreshId = setInterval(function() { $("#refresh").load('templates/lastthree.tpl.php?sid=$sid'); }, 30000); }); </script> EOT;
Nachzulesen hier. -
in: Mysql - Gleichzeitiger Zugriff
geschrieben von timebandit
Teste doch zunächst wie lange eine DB-Bearbeitung dauert.
<?php //Datenbankverbindung, Tabellenauswahl $start = microtime(true); $sql='SELECT nummer FROM zaehlen;'; $erg=mysql_query($sql); $zeile=mysql_fetch_array($erg,MYSQL_ASSOC); $nummer1=$zeile['nummer']; //Berechnungen $nummer2=$nummer1+7; $sql="UPDATE zaehlen SET nummer=$nummer2;"; mysql_query($sql); $end = microtime(true) - $start; echo "Wert von $nummer1 auf $nummer2 geändert."; echo "Die Bearbeitung dauerte: $end Sekunden; ?>
Siehe Zeile 3 und 14.
-
in: runde Elemete
geschrieben von timebandit
flockhaus schrieb:
Du kannst auch mit Bildern und entsprechendem CSS hantieren, um auf Nummer sicher zu gehen.
flockhaus hat dir bereits den entscheidenden Tip gegeben.
Dein Regenbogenbild musst du schon selbst gestalten und einbetten.
Das Element <img> lässt Klickereignisse zu. -
in: Beim laden der Webseite einmal refreshen
geschrieben von timebandit
Mich wundert, dass der gepostete Code überhaupt funktioniert.
Die korrekte Syntax für Superglobals wie $_GET() oder $_POST() ist:
$_POST['abc'] bzw. $_POST["abc"], was bei deinem Code nicht der Fall ist.
Für deine "tabelle_bearbeiten.php" habe ich das mal für dich gemacht.
Außerdem habe ich die SQL in eine lesbarere Form gebracht und berichtigt.
Das Refresh-Problem wird mittels eines Redirects an die "kunden.php" mit einem Get-Request gelöst (Zeile 38).
<html> <head> <title>Eingabemaske</title> </head> <body> <?php // Verbindung zur Datenbank herstellen require_once "dbconnect.php"; // übergebene Daten zurück in die Datenbank schreiben if (isset($_POST["submit_eingabemaske"])) // Submit-Schaltfläche der Eingabemaske wurde betätigt { // SQL-Kommando: Ändern von Einträgen // Hier wurden von mir Korrekturen vorgenommen $sql="UPDATE Kundenliste SET Datum='{$_POST['Datum']}', Telefonnummer='{$_POST['Telefonnummer']}' , Ansprechpartner='{$_POST['Ansprechpartner']}', Firmenname='{$_POST['Firmenname']}', Strasse='{$_POST['Strasse']}', PLZ='{$_POST['PLZ']}', Ort='{$_POST['Ort']}', Mobilfunkanbieter='{$_POST['Mobilfunkanbieter']}', MVertragslaufzeit='{$_POST['MVertragslaufzeit']}', Festnetzanbieter='{$_POST['Festnetzanbieter']}', FVertragslaufzeit='{$_POST['FVertragslaufzeit']}' , Email='{$_POST['Email']}', Sonstiges='{$_POST['Sonstiges']}' WHERE ID='{$_POST['ID']}'"; // SQL-Kommando ausführen mysql_query($sql) or exit("Fehler im SQL-Kommando: $sql"); } header("Location: http://sash111.lima-city.de/kunden.php?id={$_POST['ID']}"); ?> /* Das solltest du entfernen Daten erfolgreich eingetragen. <script type="text/javascript"> setTimeout("self.location.href='http://sash111.lima-city.de/kunden.php'",4000); </script>*/ </body> </html>
Die Änderungen bezüglich $_GET["id"] musst du noch vornehmen. -
in: Beim laden der Webseite einmal refreshen
geschrieben von timebandit
Ohne aussagefähigen Code wird dir kaum geholfen werden können.
Eine Möglichkeit könnte AJAX (XMLHttpRequest und onreadystatechange) sein. -
in: Wordpress 404 Fehler nach Umzug
geschrieben von timebandit
Für die DB Host geändert?
Normal: host=localhost
Für lima: host=mysql.lima-city.de
-
in: PHP Cookie Problem
geschrieben von timebandit
ini_set('session.cookie_lifetime',100); session_start(); if(isset($_GET["lang"])){ $langs = $_GET["lang"]; $_SESSION['langs'] = $langs; } elseif(isset($_SESSION["langs"])){ $langs = $_SESSION["langs"]; $_SESSION['langs'] = $langs; } else{ $langs = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); $_SESSION['langs'] = $langs; }
Bin dem Link auf deine Seite http://florianleonsteenbuck.lima-city.de/?lang=en gefolgt.
Die Variable $_GET["lang"] wird nicht übermittelt, deshalb wird dieser Codeteil übersprungen
if(isset($_GET["lang"])){ $langs = $_GET["lang"]; $_SESSION['langs'] = $langs; }
Ich gehe mal davon aus, dass $_SESSION['langs'] im obigen Teil initialisiert werden sollte, aber eben nicht wurde.
Folglich steht diese Variable nicht zur Verfügung und deshalb wird auch dieser Codeteil übersprungen.
Der Code ist ohnehin sinnlos, weil sich hier alles im Kreis dreht!
elseif(isset($_SESSION["langs"])){ $langs = $_SESSION["langs"]; $_SESSION['langs'] = $langs; }
Zuletzt wird diese Anweisung ausgeführt und wird als Ergebnis für $_SESSION['langs'] ="de" liefern.
else{ $langs = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); $_SESSION['langs'] = $langs; }
Tip:
Benutze in der Entwicklungszeit die PHP-Funktionen var_dump() oder print_r().
-
in: Ablauf einer Funktion, verständniss Problem
geschrieben von timebandit
aff3m1tw4ff3 schrieb:
Wenn ich die Funktion
entferne sollte doch in der FunktionEnde
trotzdem alles normal ablaufen. ( so denke ich mir das )getSign
Richtig gedacht.
auch entfernt?ende();
Alle geschweiften Klammern geschlossen?
Gibt es denn eine Möglichkeit, dem Script zu sagen, es soll doch bitte die Schleife komplett durchlaufen und dann erst den Rest ausführen? Das Hauptproblem ist ja, das die Schleife nicht vollständig durchlaufen wird. Bei kleineren Mengen ( bis 10 ) geht es noch, größere Mengen werden dann aber nicht vollständig ausgeführt.
Also das in dieser Funktion verweilt wird bis die Schleife durch ist, danach dann die
Funktion ende starten.
Die Schleife wird ganz sicher zuerst durchlaufen.
Warum du zig-mal den gleichen Request abschicken möchtest, erschließt sich mir nicht.
Tatsache ist, dass der Server recht bald die Antwort verweigern wird, weil er hinter den immer gleichen Anfragen eine DoS-Attacke vermuten wird. Das ist die Ursache für dein "Mengenproblem". -
in: Div-Box mit transparenten Hindergrund?
geschrieben von timebandit
demivee schrieb:
....Aber ich meine ja, dass wenn Java im Browser deaktiviert ist, dass die Seite dann nicht mehr so angezeigt wird wie es gedacht war, oder?
Du meinst Java, ist aber tatsächlich JavaScript. Wenn JS im Browser deaktiviert aber für die Darstellung der Seite erforderlich ist, dann gibt es logischerweise Einschränkungen.
demivee schrieb:
p.s.: wird opacity von irgendwelchen Browsern nicht unterstützt?
Wie meistens benötigen die verschiedenen Versionen des IE eine Sonderbehandlung.
Eine empfehlenswerte Seite zum Thema findest du hier. -
in: PHP - Webbuilder 2014
geschrieben von timebandit
Füge an den Anfang von "Login.php":
ini_set('display_errors', 1);
error_reporting(E_ALL);
und poste mindestens den Scriptteil, der das Superglobal $_POST() verarbeitet.
Falls dir Fehler angezeigt werden (wg. error_reporting(E_ALL)), dann teile uns diese bitte mit.
-
in: PHP - Webbuilder 2014
geschrieben von timebandit
<input type="text" name="Username" value="Username" />
name und value sind gleich, was zu Problemen führt.
Lass value entweder ganz weg, oder mache value="Benutzername". -
in: URLs gleicher Domain gruppieren ?
geschrieben von timebandit
Vielleicht hilft dir das weiter:
<ul> = unordered list => liefert unsortierte Liste
<ol> = ordered list => liefert sortierte Liste -
in: Zugriff auf Element/Object-Attribute/Property via 'Variable'
geschrieben von timebandit
Genügt dir das?
function changeText() {
document.getElementById('myID').innerHTML = "mein neuer Wert, der jetzt im Textfeld angezeigt wird";
} -
in: problem mit mysql select und session
geschrieben von timebandit
if(isset($_SESSION['SESS_MEMBER_ID'])) {
$mysqlconnect = mysql_connect($mysqlhost, $mysqluser, $mysqlpass) or die ("Die Verbindung konnte nicht gerstellt werden");
mysql_select_db($mysqldata, $mysqlconnect) or die ("Datenbank konnte nicht ausgewählt werden!");
$mysqldaten = "SELECT username, first_name, last_name, email FROM users WHERE id='".mysql_real_escape_string($_SESSION['SESS_MEMBER_ID'])".'";
$mysqldaten_query = mysql_query($mysqldaten);
Richtig:
id='".mysql_real_escape_string($_SESSION['SESS_MEMBER_ID'])."'";
Außerdem könnten weitere Fehlerquellen vorhanden sein.
Wie generierst du den Wert für $_SESSION['SESS_MEMBER_ID'] ?
Ist das ein String oder ein Integer?
Von welchem Typ ist Tabellenspalte "id" in deiner DB.
-
in: Bots auf Homepage?
geschrieben von timebandit
Offensichtlich verwendest du ein Logfile.
Erweitere dein Script noch dahingehend, dass Host und Browser und ggf. das Herkunftsland ermittelt werden.
Hier mal ein Beispiel:
IP: 74.125.184.16 HOST: 74.125.184.16 HTTP_USER_AGENT: AppEngine-Google; (+http://code.google.com/appengi... IP: 176.34.200.89 HOST: ec2-176-34-200-89.eu-west-1.compute.amaz HTTP_USER_AGENT: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0... IP: 91.200.114.128 HOST: ip-91-200-114-128.network.lviv.ua HTTP_USER_AGENT: Mozilla/5.0 (compatible; 008/0.85; http://www.80legs.com/webcrawler.html) Gecko/2008032620
Das erleichtert die Botidentifikation und reduziert die Inanspruchnahme der von menschle vorgeschlagenen Dienste. -
in: Fehler bei 2 Datenbanken in ein PHP
geschrieben von timebandit
Die Fehlermeldungen
Notice: Undefined index: IP in / on line 12
Notice: Undefined index: Text in /on line 13
beziehen sich auf
$ip = mysql_real_escape_string(trim($_POST['IP'])); $text = mysql_real_escape_string(trim($_POST['Text']));
und bedeuten, dass im Superglobal $_POST() weder "IP" noch "TEXT" als Index vorliegen.
Mit anderen Worten eine Übertragung durch die Methode POST fand nicht statt.
---------------------------------------------------
Die Fehlermeldungen
Notice: Undefined variable: row in / on line 38 Notice: Undefined variable: row in / on line 39 Notice: Undefined variable: row in /home/ on line 38 Notice: Undefined variable: row in / on line 39
beziehen sich auf
while($aRow=mysql_fetch_assoc($vResult)){ $aNames[] = $row['Name']; $aEmails[] = $row['Email']; }
Ändere die Variable $aRow in $row um.
Das ganze wird dir aber kein Ergebnis bringen, da deine DB-Abfrage wegen der fehlenden Werte für $ip und $text ins Leere läuft.
-
in: problem mit mysql select und session
geschrieben von timebandit
Ändere
$mysqldaten = "SELECT username, first_name, last_name, email FROM users WHERE id='$id'";
in
$mysqldaten = "SELECT username, first_name, last_name, email FROM users WHERE id='".$id."'";
Es geht allerdings besser, weil modernder, wenn du Prepared Statments mit mysqli bzw PDO verwenden würdest -
in: Wordpress Session prüfen
geschrieben von timebandit
Die bisherigen Lösungsvorschläge(?) laufen alle ins Leere, weil
1. WP Cookies und keine weiteren Sessionvariablen verwendet.
2. Eine Einbindung von wp-blog-header.php und/oder wp-config.php nichts bringt außer ein Template oder eine leere Seite.
Mein Lösungsansatz beinhaltet eine Modifikation der "wp-login.php" vllt. auch der "user.php".
Außerdem muss in der DB die Tabelle wp_users um eine Spalte vom Typ bool erweitert werden.
Die wp-login.php erweiterst du mit der Anbindung an die Tabelle wp_users und trägst bei erfolgreichem Login eines Users in die neue Spalte den entsprechenden Wert(wahr/falsch) ein.
Extern kannst du dann die Tabelle wp_users jederzeit abfragen.
Weil sich nicht jeder User ordentlich abmeldet und deshalb "Leichen" enstehen können, solltest du auch über eine Session nachdenken. -
in: Dopplung Artikel vermeiden mit PHP Fehler
geschrieben von timebandit
realsocialnews schrieb:
Bitte teste den Code mal wirklich
und fang nicht nur einfach ein get request ab.
Alserstest sagt du mir ich solles drehen und dann drehst du das was ich gedreht habe nochmal um
Der Code funktioniert nicht
Es gibt hier keinen Grund herumzumotzen. Okay, hab mich beim Kopieren vertan, so what?
Bitte teste den Code mal wirklich und fang nicht nur einfach ein get request ab.
$titlel=""; if(isset($_GET['id'])) { if($_GET['id']=='Hallo'){ $titlel="Hallo;} if($_GET['id']=='kein Hallo'){ $titlel="kein Hallo";} $olddateione='Da steht <a id="Hallo"> etwas'; if(strpos($olddateione,'<a id="'.$titlel.'">')===true){ echo "<h1>Artikel konnte nicht erstellt werden, weil der Artikel schon existiert.</h1>"; } else {if(strpos($olddateione,'<a id="'.$titlel.'">')===false) { echo "<h1>Artikel wird erstellt.</h1>"; } }}
Auch Schlaumeier werden bemerken wofür der GET-Request im Beispiel benötigt wird! -
in: Dopplung Artikel vermeiden mit PHP Fehler
geschrieben von timebandit
So funkts:
if(strpos('<a id="'.$titlel.'">',$olddateione)===true){ echo "<h1>Artikel konnte nicht erstellt werden, weil der Artikel schon existiert.</h1>"; } else {if(strpos('<a id="'.$titlel.'">',$olddateione)===false) {echo "<h1>Artikel wird erstellt.</h1>";} }
Zu sehen Hier -
in: Wordpress WP HTTP Error
geschrieben von timebandit
Das was du beschreibst ist kein Fehler, sondern liegt an serverseitigen Einstellungen des Hosters.
Bei deinem genannten Beispiel werden keine externen Verbindungen über HTTP zugelassen.
Hier bei lima gilt diese Einschränkung nicht, d.h. du kannst WP in vollem Umfang nutzen. -
in: Dopplung Artikel vermeiden mit PHP Fehler
geschrieben von timebandit
Syntax für strpos():
strpos(STRING,SUCHSTRING);
Also genau umgekehrt. -
in: Fehlermeldung.
geschrieben von timebandit
php-test1 hat vollkommen recht.
Wer hier Hilfe haben will, der sollte seinen Unmut nicht so zeigen wie du es tust.
Zeile 23: $id=$_GET['id'];
<FORM method="POST" action="registrieren.php?id=2">
Was steht im Superglobal $_GET() ?
Antwort: nichts.
Ändere $_GET['id'] in $_POST['id'] und der Fehler ist behoben.
Auf eklatante Schwächen in deinem Script gehe ich allerdings nicht näher ein. -
in: SQL wird nicht angezeigt im PHP
geschrieben von timebandit
internetplattform schrieb:
habe die error info eingeschaltet, nun kommt die info, dass es zu "Abfrage ist zu komplex" ist, was soll bitte daran zu komplex ein?
Die Fehlermeldung ist doch eindeutig.
MySQL kann deine Anfrage nicht verarbeiten.
Mein Hinweis "Keep it simple, keep it stupid" ist nicht ohne Hintergedanken erfolgt.
Ohne Kenntnis deiner Tabellenstruktur und das Ziel, welches du verfolgst, kann keine wirkliche Hilfe erfolgen. -
in: Fehlermeldung.
geschrieben von timebandit
if ($id==2) {
Die Klammer ist nicht geschlossen.