Your-pMF
'; [CODE]'; echo ''; echo ''; if ( $row[3] == false ) { echo ''; } else { echo '; } echo ''; } ?>[/CODE] Bei folgendem tritt kein Fehler auf [CODE]'; echo ''; echo ''; if ( $row[3] == false) { echo ''; } else { echo ''; } echo ''; } ?>[/CODE] ich habe keinerlei Ahnung warum. P.S. ich verwende gerade http://www.selfphp.info/ gibt es noch ähnliche Seiten die gute Anleitungen haben? (Habe mein PHP Buch zuhause vergessen, d.h. komme erst in einer Woche an eine gute Anleitung)
22.06.09, 18:08:05

Asmodis

geändert von: BugHunter2k - 23.06.09, 23:13:14

Hallo, ich probiere gerade auch ein bisschen mit php rum und habe jetzt einen Generator geschrieben, der den Text für eine htaccess Datei erzeugt (und er funktioniert sogar :shock: :D ) : [php]
"; echo "
 Order deny,allow
"; echo " AuthUserFile "."$Authuserfile"."$Sdatei
"; if(!empty ($_GET['Authusrpath'])) { echo " AuthGroupFile"."$Gruppenpfad".".htgroups"."
"; } else { echo " AuthGroupFile /dev/null
"; } echo " AuthName \""."$Authname"."\""."
"; echo " AuthType "."$Art"."
"; echo " <Limit GET>
"; echo " require valid-user
"; echo " </Limit>



"; echo "Und das muss in eine Datei namens $Sdatei :

"; echo "
"; echo "$Benutzername".":"."$Passwort"; echo "
"; if(!empty ($_GET['Authusrpath'])) { echo "So sollte deine .htgroups - Datei aussehen:
"; echo "
"; echo "$Gruppenname".":"."$Benutzername"; echo "
"; } else { echo ""; } } else { echo "
Hier musst du den (System!!!!)Pfad zu deiner späteren Passwort-/Benutzerdatei eingeben! (Also nicht http://www.beispiel.de/ordner, sondern zum Beispiel: /usr/local/httpd/ordner/ (Ist bei jedem Webhoster anders):

Hier musst du den (System!!!!)Pfad zu deiner späteren Passwort-/Benutzerdatei eingeben! (Also nicht http://www.beispiel.de/ordner, sondern zum Beispiel: /usr/local/httpd/ordner/ (Ist bei jedem Webhoster anders): (optional)

Wenn du oben einen Pfad angegeben hast, dann gib hier bitte noch einen Gruppennamen an!

Hier Gibst du ein, wie der geschützte Bereich heißen soll:

Benutzer, der die Seite betreten darf:

Passwort für diesen Benutzer:

Name der Datei, in der Benutzernamen und Passwörter stehen (muss mit einem Punkt beginnen):

Art der Übertragung von Passwörtern (mit Digest wird verschlüsselt gesendet, mit Basic nicht. Es beherrschen aber nicht alle Browser Digest):


"; } ?> [/php] Jetzt würde ich gerne noch ein optionales Feld "Gruppen" einfügen, In dem man noch eine Gruppendatei anlegen kann. D.h. wenn man dort dann etwas eingibt sollte in der ausgabe dann nicht mehr [Code] AuthGroupFile /dev/null [/Code] sondern [Code] AuthGroupFile *eingegebener Pfad* [/Code] stehen. Außerdem soll dann noch ein extra Ausgabefeld erscheinen, in dem der inhalt der .htgroups dann steht. Wenn nichts eingegeben wurde soll bei AuthGroupFile aber das erscheinen, was jetzt da steht. Und das Feld für die htgroups sollte auch nicht sichtbar sein. Wie müsste da die if- Abfrage aussehen? Ich hoffe, der Anhang verdeutlicht das ganze etwas. edit: hat sich erledigt. Ich hab es jetzt selbst geschafft. (Habe den Code oben aktualisiert. Könnte sich den mal jemand durchsehen?)
23.06.09, 23:11:36

BugHunter2k

Hallo Asmodis, ich hab deinen Code jetzt nur Überflogen und möchte dir gern ein paar Hinweise geben, die das ganze etwas Lesbarer und/oder Sicherer machen. (Auch wenn die Formulierungen etwas hart klingen, denke immer daran es sind nur gute Ratschläge die ich versuche zu begründen.) Zur Funktion (es tut ja nach deinen Aussagen, was es soll) halte ich mich mal zurück. ------------------------------------------------------- Grundsätzlich ist es angebracht HTML und PHP Code komplett zu Trennen, idealerweise über ein Templatesystem, wenn das zu aufwändig über eine Verarbeitung vor der Ausgabe. Solltest du HTML code Dynamisch erzeugen wollen, so speichre diesen in einer Variable Zwischen Beispiel:[php] blub'; } else { $link = 'Kein Link'; } ?> Art ist: und der Link dazu:
[...] [/php] Wie du hier siehst, findet die komplette Verarbeitung am Anfang VOR dem eigentlichen Html header statt und die Susgabe erfoglt dann im HTML text mit einfachem alternativ geht das auch mit das
25.06.09, 18:00:20

Asmodis

geändert von: Asmodis - 26.06.09, 15:15:16

Hi, ich konnte leider jetzt erst wieder online kommen. Danke für deine Tipps und dass du dir die Zeit genommen hast, dir alles durchzulesen! Ich werde sie bei Gelegenheit (Schule nervt manchmal echt :wall: :D ) ausprobieren. Ich hätte gleich noch eine Frage: Ich habe in einem Forum den Code für einen Editor gefunden, mit dem man Dateien online bearbeiten kann: [php] Evtl. Obacht: Win/Lin/... \n \r\n ... $news_neu = stripslashes($news_neu); // Anpassen #$news_neu = strip_tags($news_neu); // Anpassen fputs($fp, $news_neu, strlen($news_neu)); fclose($fp); } /* Datei in Array einlesen */ $news = file($datei); /* FORMULAR */ echo '
'; echo ''; echo '
'; echo ''; echo ''; /* Testausgabe */ echo 'Inhalt'; echo '

'; echo nl2br(implode('',$news)); ?> [/php] Wie kann ich denn den Wert der Variable $datei über die url ändern lassen (in der jetzigen Form funktioniert url/test.php?datei=irgedeindateiname nämlich nicht. was müsste ich da ändern? //edit: hat sich geklärt: $datei = $_GET['datei']; :)
05.07.09, 15:48:16

Asmodis

geändert von: Asmodis - 05.07.09, 18:28:17

Wie kann ich mit php bestimmte Zeichenfolgen ersetzen lassen? (Als beispiel: Board - Codes ; Dort wird aus [b] im Quelltext dann usw.) Hintergrund: Ich würde mir gerne ein Script basteln, das die wichtigsten Mediawikibefehle kennt ( ==test== für Ebene-2 Überschrift usw.) und mir meine Texte dann als Vorschau anzeigen kann, indem es einfach die ganzen Befehle in HTML-Tags umwandelt. Das ganze soll dann so aussehen, dass ich auf meinem PC eine .txt Datei auswählen kann, diese dann hochgeladen und als Vorschau angezeigt wird. Das hochladen muss nicht unbedingt sein (Man kann die Dateien soviel ich weiß ja auch einfach so auslesen, oder?). edit: Ich habe gerade mal ein bisschen in der parser.php von Mediawiki gestöbert. Das sieht dort ja recht aufwändig aus. allerdings scheinen da auch viele Sicherheitsmaßnahmen drin zu sein. Da das aber nur ich und ein bis zwei Bekannte verwenden werden, könnte ich die ja rauslassen, oder?? könnte mir jemand da mal einen kleinen Beispielcode posten, anhand dessen ich dann weitermachen kann? (zum Beispiel: aus [[bla|irgend ein Text]] soll irgend ein Text werden. Wenn ich aber nur [[bla]] habe, dann soll da nur bla draus werden.) Ist das mit nicht all zu viel Aufwand zu schaffen?
10.07.09, 12:47:09

BugHunter2k

hallo Asmodis, muss dienen post wohl übersehen haben, darum hier ein kleiner hinweis. Ameinfachsten geht sowas mit regulären ausdrücken (regular expression ode rauch regexp isnd gute stichwörter für google) Php bietet in dem zusammenhang die funktionen preg_match zu suchen und preg_replace zum ersetzen an. (da mal handbuch von php zur rate ziehen (php.net)) Kleines Beispiel für den von dir beschriebenen Fall: [php] $2'; // RegEx mit preg_replace() auswerten echo preg_replace($pattern, $ersatz, $string ); // ggf. auch: // echo preg_replace(, htmlentities(), ); ?> [/php] Zum testen der Ausdrücke ist regexp-tester zu empfehlen: http://www.regex-tester.de Hier der Link zu dem Beispiel von oben: http://www.regex-tester.de/uc_685_de.html Gruß Ingo
11.07.09, 11:16:59

Harmageddon

geändert von: Harmageddon - 11.07.09, 11:29:16

Doofe Frage: Wie kann man einstellen, in welcher Datei das ersetzt wird?
11.07.09, 12:29:22

Asmodis

geändert von: Asmodis - 11.07.09, 13:04:50

Ich würde die Datei wahrscheinlich irgendwie so: [php][/php] einlesen. Dann müsste der Code wohl so heißen: [php] $2'; // RegEx mit preg_replace() auswerten echo preg_replace($pattern, $ersatz, $text ); // ggf. auch: // echo preg_replace(, htmlentities(), ); ?>[/php]Geht das so?
11.07.09, 12:41:16

BugHunter2k

Gehen tut das so, nur du musst das dann auch wieder zurückschreiben ;) Um eine ganze Datei Auszulesen kannst du auch $text = file_get_contents("datei.txt") benutzen, das geht ein wenig schneller und du hast alles in einem String. Zum zurückschreiben dann Analog auch file_put_contents("Datei.txt",$text);
11.07.09, 13:05:01

Asmodis

geändert von: Asmodis - 11.07.09, 13:23:17

Es funktioniert. Nur dummerweise wird alles, was vor einem Fund steht irgendwie weggelassen. d.h. "bla bla [[test|test]] bla bla" wird zu "test bla bla" Dabei müsste das doch wegen dem .* am Anfang eigentlich funktionieren. edit: geht jetzt. ich habe einfach mal das: .* nach dem @ und das: .* vor @sSU weggelassen und es ging
 
     registrieren     benutzer     suche     team     kalender     hilfe     index    
Chat     downloads     link us     gästebuch     supportforum    
 

PHP Fragen

original Thema anzeigen

12.08.08, 19:06:23

impact

geändert von: impact - 13.08.08, 01:19:47

hallo ich versuche mich gerade ein wenig in php zurechtzufinden und ein wenig zu programmieren. Ich versuche gerade für eine Homepage aus einer Datenbank Zeit,Text und einen Link auszulesen. Im Prinzip funktioniert auch fast alles. Ich habe inzwischen das ursprüngliche Problem behoben bin aber auf ein neues gestoßen. Ich habe zwei Versionen eines Codes, bei denen ich eigentlich keinen Untershied feststellen kann zumindest sehe ich keinen: bei folgendem tritt der Fehler auf: Parse error: syntax error, unexpected '/' in /mnt/web2/21/37/5686137/htdocs/phpjudo/rechts1.php on line 133 Zeile 133 ist: echo '
'.$row[1].''.$row[2].'kein LinkLink
'.$row[1].''.$row[2].'kein LinkLink
Powered by: phpMyForum 4.2.1 © Christoph Roeder
SQL Error