kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Forum BB Code Problem

    geschrieben von php-oop

    Ich programmiere zurzeit ein Forum.

    Für die BB Codes habe ich folgende Methode:

    function bb_codes($bbcode) {
    	$bbcode = htmlentities ( $bbcode );
    	
    	/* Bold text */
    	$match ["b"] = "/\[b\](.*?)\[\/b\]/is";
    	$replace ["b"] = "<b>$1</b>";
    	
    	/* Italics */
    	$match ["i"] = "/\[i\](.*?)\[\/i\]/is";
    	$replace ["i"] = "<i>$1</i>";
    	
    	/* Underline */
    	$match ["u"] = "/\[u\](.*?)\[\/u\]/is";
    	$replace ["u"] = "<span style=\"text-decoration: underline\">$1</span>";
    	
    ...
    	
    	/* Parse */
    	$bbcode = preg_replace ( $match, $replace, $bbcode );
    	
    	$bbcode = nl2br ( $bbcode );
    	
    	$bbcode = preg_replace_callback ( "/\[code\](.*?)\[\/code\]/ism", "pre_special", $bbcode );
    	
    	return $bbcode;
    }
    function pre_special($matches) {
    	$prep = preg_replace ( "/\<br \/\>/", "", $matches [1] );
    	return "<pre><code>$prep</code></pre>";
    }


    Ich möchte nun noch, dass der Code außerhalb von [ code ] und [ /code ] mit wordwrap() behandelt wird. Das habe ich so versucht:

    $bbcode = wordwrap($bbcode, 100, "<br />\n");


    Allerdings wird dann alles mit wordwrap() behandelt, aber der Code innerhalb des Code-Tags soll unbehandelt bleibenn.

    Wie könnte ich das lösen?
  • in: Forumtext in Datenbank speichern

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Wie benutze ich die Klasse vom Link von dir?
    Die Klasse erfüllt diese Forderung:
    php-oop schrieb:
    Wie programmiere ich das denn am besten, das dann die BB Codes umgewandelt werden?


    Dabei liest du aus der DB den Text aus, wandelst ihn mit der Klasse um (Doku dazu lesen!) und als Ergebnis bekommst du HTML-Code, den du auf deiner Webseite ausgeben kannst. Damit die Klasse weiß welche BB-Codes existieren und wie sie in HTML-Code umgerechnet werden sollen musst du noch entsprechende Regeln definieren, was du aber ebenfalls der Doku entnehmen kannst.


    Danke! Dann probiere ich das heute mal.


    Danke dir für deine Hilfe!
  • in: Forumtext in Datenbank speichern

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    htmlentities() muss ich dann aber trotzdem benutzen, zum Schutz vor SQL Injection, oder?
    htmlentities()
    schützt nur vor XSS, das hat aber nichts mit SQL-Injections zu tun. Gegen SQL-Injections schützt du dich mit
    mysql_real_escape_string()
    , was aber schon genannt wurde.


    Achso, mysql_real_escape_string() nutze ich ja beim Speichern in die Datenbank.

    Wie benutze ich die Klasse vom Link von dir?
  • in: Forumtext in Datenbank speichern

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Kann ich es dann immernoch so:

    echo(nl2br(htmlentities($text_aus_der_db)));


    ausgaben lassen? Oder funktioniert das dann nicht?
    Egal was du machst wird es so immer funktionieren, nur wird das auch alle Steuerbefehle sichtbar machen.

    Bei BB-Codes würdest du es eher so machen, aber das ist nur Pseudocode:
    echo(bbcode_zu_html($text_aus_der_db));
    Wie gesagt, für einfache BB-Codes kannst du dir durchaus selbst etwas basteln, z.B. mit regulären Ausdrücken, aber bei komplexeren Codes (wie z.B. hier im Forum) solltest du dir eine Bibliothek (*hust*) dafür suchen.


    Danke für den Link :)

    htmlentities() muss ich dann aber trotzdem benutzen, zum Schutz vor SQL Injection, oder?
  • in: Forumtext in Datenbank speichern

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Wie programmiere ich das denn am besten, das dann die BB Codes umgewandelt werden?
    Selber programmieren ist nur für einfache BBCodes sinnvoll, ansonsten solltest du dir eine fertige Bibliothek suchen.

    php-oop schrieb:
    Und muss das umgewandelt werden, wenn in die Datenbank gespeichert wird oder beim ausgeben?
    Tipp: wandle immer erst bei der Ausgabe um, denn so kannst du den Text unkompliziert in verschiedenen Formaten ausgeben.


    Also so ungefähr die BB Codes hier von Lima würden mir reichen.

    Kann ich es dann immernoch so:

    echo(nl2br(htmlentities($text_aus_der_db)));


    ausgaben lassen? Oder funktioniert das dann nicht?
  • in: Forumtext in Datenbank speichern

    geschrieben von php-oop

    webaffe schrieb:
    php-oop schrieb:
    hackyourlife schrieb:
    php-oop schrieb:
    Kann ich einfach das nl2br() weglassen, und die Eingabe einfach so speichern, wie es eingegeben wurde?

    Also so:
    $text = $_POST ['text'];
    Ich meinte es so:

    Beim Speichern in die DB nutzt du so etwas:
    $text = mysql_real_escape_string($_POST['text']);
    mysql_query("INSERT INTO `nirgendwo` (`text`) VALUES ('$text')")
        or die(mysql_error());

    Beim Auslesen aus der DB und Darstellen auf der Webseite nutzt du dan z.B. sowas:
    echo(nl2br(htmlentities($text_aus_der_db)));


    Achso, okay.
    So hab ich das jetzt gemacht.

    Danke!

    EDIT: Ich merke gerade, ich hab noch ein Problem:

    Für $_POST ['text']; benutze ich den Editor TinyMCE, der ist also in der Textarea.

    Wenn ich jetzt den Beitrag speichere, wird der HTML Code auf der Beitragsseite angezeigt. Aber der soll dann ja ausgeführt werden.

    Wie mache ich das jetzt noch?


    Guten Tag,

    du musst das htmlentinities() weglassen, allerdings hast du dann wieder das Problem mit XSS, vielleicht solltest du dir mal BB-Code anschauen...

    Grüße webaffe


    Ja, die Idee mit BB Codes hatte ich auch schon.
    Wie programmiere ich das denn am besten, das dann die BB Codes umgewandelt werden? Und muss das umgewandelt werden, wenn in die Datenbank gespeichert wird oder beim ausgeben?
  • in: Forumtext in Datenbank speichern

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Kann ich einfach das nl2br() weglassen, und die Eingabe einfach so speichern, wie es eingegeben wurde?

    Also so:
    $text = $_POST ['text'];
    Ich meinte es so:

    Beim Speichern in die DB nutzt du so etwas:
    $text = mysql_real_escape_string($_POST['text']);
    mysql_query("INSERT INTO `nirgendwo` (`text`) VALUES ('$text')")
        or die(mysql_error());

    Beim Auslesen aus der DB und Darstellen auf der Webseite nutzt du dan z.B. sowas:
    echo(nl2br(htmlentities($text_aus_der_db)));


    Achso, okay.
    So hab ich das jetzt gemacht.

    Danke!

    EDIT: Ich merke gerade, ich hab noch ein Problem:

    Für $_POST ['text']; benutze ich den Editor TinyMCE, der ist also in der Textarea.

    Wenn ich jetzt den Beitrag speichere, wird der HTML Code auf der Beitragsseite angezeigt. Aber der soll dann ja ausgeführt werden.

    Wie mache ich das jetzt noch?
  • in: Forumtext in Datenbank speichern

    geschrieben von php-oop

    hackyourlife schrieb:
    Für MySQL wäre das mysql_real_escape_string()

    php-oop schrieb:
    Bisher habe ich das so:
    $text = nl2br($_POST ['text']);
    Würde ich nicht vor dem Eintragen in die DB machen. Ich würde so etwas erst bei der Ausgabe machen, und dort solltest du noch zusätzlich htmlentities() oder htmlspecialchars() nutzen um auch XSS zu verhindern.


    Kann ich einfach das nl2br() weglassen, und die Eingabe einfach so speichern, wie es eingegeben wurde?

    Also so:
    $text = $_POST ['text'];
  • in: Forumtext in Datenbank speichern

    geschrieben von php-oop

    Hallo,

    ich bin gerade dabei, ein Forum zu programmieren.

    Meine Frage ist, wie ich den Text vom Thread oder vom neuen Post in die Datenbank speichere.

    Bisher habe ich das so:

    $text = nl2br($_POST ['text']);


    Meine Frage ist, wie ich SQL Injections ausschließen kann.

    Könnt Ihr mir da helfen?
  • in: htaccess | Slash am Ende anfügen

    geschrieben von php-oop

    chatter schrieb:
    Browsercache geleert?

    Bei mir sieht das dann so aus (unwichtige Header entfernt):

    http://localhost/testen/htaccess
    
    GET /testen/htaccess HTTP/1.1
    Host: localhost
    
    -------Serverantwort----------
    HTTP/1.1 301 Moved Permanently
    Date: Thu, 03 Jan 2013 21:43:46 GMT
    Server: Apache/2.4.3 (Unix) PHP/5.4.7
    Location: http://localhost/testen/htaccess/
    -----------------------------------------------------
    http://localhost/testen/htaccess/
    
    GET /testen/htaccess/ HTTP/1.1
    Host: localhost
    
    -------Serverantwort----------
    HTTP/1.1 200 OK
    Date: Thu, 03 Jan 2013 21:43:46 GMT
    Server: Apache/2.4.3 (Unix) PHP/5.4.7


    Jetzt geht es bei mir auch.

    Ich habe es einfach nochmal probiert, und jetzt ging es plötzlich.

    Danke für deine Hilfe!
  • in: htaccess | Slash am Ende anfügen

    geschrieben von php-oop

    chatter schrieb:
    Grob getestet, müsste aber funktionieren:

    RewriteRule ^(.*)(^/)$ http://%{HTTP_HOST}/$1/ [R=301]


    301 ist eine permanente Weiterleitung.


    Ich habe es grad getestet, es funktioniert aber noch nicht.
    Wenn ich den hinteren Slash weglasse, wird er nicht automatisch hinzugefügt.
    Ist im Code evtl. etwas falsch?
  • in: htaccess | Slash am Ende anfügen

    geschrieben von php-oop

    Hallo !

    Ich suche einen Code für eine .htaccess Datei, der am Ende eines Links automatisch einen Slash setzt.

    Beispiel

    http://www.testseite.de/test

    soll zu

    http://www.testseite.de/test/

    werden.

    Ich habe schon alle Codes dazu aus dem Internet ausprobiert, aber es wird kein Slash am Ende angefügt.

    Könnt Ihr mir helfen?

  • in: Lokalen Webserver installieren

    geschrieben von php-oop

    l001ol schrieb:
    Wenn Google dein Freund wäre, wärest du hier drauf gestoßen: XAMPP


    Danke!
    Das werde ich mal ausprobieren!
  • in: Lokalen Webserver installieren

    geschrieben von php-oop

    Hallo,

    ich möchte gerne lokal auf meinem Rechner einen Webserver installieren.
    PHPMyAdmin soll für die Datenbank auch dabei sein.

    Ich brauche das, um meinen PHP Scripts auf meinem Rechner zu testen.

    Wie kann ich das am einfachsten machen?
    Welchen Webserver würdet ihr mir empfehlen?
  • in: Inhalt einer Datei ausgeben PHP

    geschrieben von php-oop

    Hallo,

    ich habe in meinem Script eine Funktion, um eine Datei zu erstellen:
    file_put_contents ( $filename, $code );


    In $code ist der Inhalt gespeichert, der gespeichert werden soll.

    Ich suche eine Funktion, mit der ich den Inhalt dieser neu erstellten Datei auslesen und in einem Formular ausgeben kann.

    So habe ich es versucht:

    $code = file_get_contents($code_dir);


    da wird aber nichts ausgegeben.

    In $code_dir ist der absolute Pfad zu der Datei gespeichert.



    Könnt Ihr mir helfen?

    EDIT: Der Thread kann geschlossen werden. Habe das Problem selbst lösen können. Der Absolute Pfad war falsch.
    Edit by syberpsace: geschlossen!
  • in: Datei auf dem Server erstellen

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Sollte ich für meinen Fall eher die Funktion file_get_contents() benutzen, oder ist das egal?
    Wie man eine Datei erstellt, habe ich auch im Manual nicht gefunden.
    $path = "home/www/html/test/";
    $filename = $new_name . ".txt";
    
    $fp = fopen ( $path . $filename, "r" );
    
    fputs ( $fp, $code );
    fclose ( $fp );
    Du willst eine Datei mit fputs beschreiben, obwohl du sie mit fopen nur zum lesen öffnest?

    Warum nicht gleich so?
    $path = "home/www/html/test/";
    $filename = "{$new_name}.txt";
    file_put_contents($path . $filename, $code);


    Oder willst du an eine vorhandene Datei etwas anhängen?


    Nein, ich will immer eine neue Datei erstellen.

    Dein Code funktioniert so, wie er soll.

    Danke.
  • in: Datei auf dem Server erstellen

    geschrieben von php-oop

    syberpsace schrieb:
    Es gibt da sowas schönen, das nennt sich PHP-Manual. Dort kann man ziemlich viele Sachen nachschlagen, unter anderem auch die Modes die man bei fopen verwenden kann. -> function.fopen.

    Alternativ kannst du auch touch verwenden -> function.touch

    Ausserdem denke ich, dass dein Pfad nicht so ganz stimmt. Richtig wäre wohl eher
    /home/www/html/test/



    mfg


    Danke für deine Antwort!
    Den Pfad habe ich angepasst.

    Sollte ich für meinen Fall eher die Funktion file_get_contents() benutzen, oder ist das egal?
    Wie man eine Datei erstellt, habe ich auch im Manual nicht gefunden.
  • in: Datei auf dem Server erstellen

    geschrieben von php-oop

    Hallo,

    ich möchte eine Eingabe aus einem Formular in eine Datei auf dem Server speichern.

    Dazu habe ich folgendes Script:

    ...
    	$path = "home/www/html/test/";
    	$filename = $new_name . ".txt";
    	
    	$fp = fopen ( $path . $filename, "r" );
    	
    	fputs ( $fp, $code );
    	fclose ( $fp );
    ...


    In der Variable $code ist das gespeichert, was in die Datei geschrieben werden soll.

    Wenn ich diesen Code benutze, bekomme ich einen Fehler, weil die Datei noch nicht auf dem Server existiert.

    Wie erstelle ich eine leere Datei auf dem Server? Konnte dazu im Internet nichts richtiges finden

    Oder ist mein Code nicht so gut? Wenn ja, wie könnte ich ihn besser schreiben?
  • in: JavaScript Spiele Code in DB?

    geschrieben von php-oop

    hostfree schrieb:
    Hallo

    ich würde die Java Script Codes (per PHP) in eine .js Datei schreiben (fwrite / file_put_contents)
    und bei Bedrf (je nach GET-Anfrage) dann den <script> TAG im Heaer ausgeben

    nehemen wir mal an, jedes Spiel hat eine ID ....

    z.B. für Aufruf wie: ..../spielen.php?id=14

    $game_id = $_GET['id']; 
    // --- Beispiel:  $game_id = 14; 
    
    print '<script type="text/javascript" src="games/spiel_'.$game_id.'.js"></script>'."\n";


    anstatt einer ID kannst Du auch einen 'Name" nehmen,
    egal, hauptsache eindeutig identifizierbar

    Wenn du den JS-Code in eine DB speichern willst,
    dann kannst du den Aufruf so machen, das der JS-Code erst bei Aufruf "geschrieben" wird

    $game_id = $_GET['id']; 
    // --- Beispiel:  $game_id = 14; 
    
    print '<script type="text/javascript" src="games/spiel_js.php?id='.$game_id.'"></script>'."\n";


    also als JavaScript SRC eine PHP-Datei: spiel_js.php
    und dann in dieser je nach $_GET['id'] den JS-Code per PHP aus DB holen und ausgeben (echo / print)

    da sich der JS-Code ja nicht bei jedem Aufruf verändert, ist hier wohl: "Speichern in Datei" besser
    ... aus DB holen macht ja eher dann Sinn, wenn sich der JS-Code jedesmal anders ist (dynamisch).

    wenn es um Spieler-Daten geht (Punkte, etc.) ... die kann man (sollte man) dynamisch erstellen
    dazu würde ich die DB oder z.B. eine JSON Datei nehmen, die alle Werte (als Objecte / Arrays) enthält
    und auf diese Daten kann man ja vom (statischen) GAME-JS-Code aus zugreifen (AJAX)

    also ... den GAME-JS-Code (statisch) als .js Datei speichern
    und Spieler-Daten (dynamisch) per DB (PHP --> JSON)... per Ajax in der Game-JS lesen / schreiben



    Danke für deine Antwort !

    So eine ähnliche Idee hatte ich auch schon.

    So werde ich das machen!
  • in: JavaScript Spiele Code in DB?

    geschrieben von php-oop

    Hallo,

    ich biete auf meiner Seite viele Javascript Spiele an.

    Zurzeit habe ich für jedes Spiel eine eigene *.php Datei, in der ich dann den Java Script Code drin stehen habe.

    Nun möchte ich das ganze dynamisch machen, d.h. dass ich im Adminmenü einfach und schnell neue Spiele hinzufügen kann.

    Was empiehlt ihr mir?

    Soll ich den Code in eine Datenbanktabelle schreiben und dann auf der entsprechenden Seite auslesen?
  • in: PHP MYSQL Nummern sortiert ausgeben

    geschrieben von php-oop

    notinthetext schrieb:
    Ich würde vermuten, dass die die Kartennummer kein int-Wert, sondern ein Char-Wert ist. Ansonsten sehe ich für das Verhalten keine Erklärung.


    Ja, stimmt

    ich hatte die Kartennummer als varchar Wert in der Datenbank, hab es in int geändert.

    Jetzt funktioniert es. Danke!
  • in: PHP MYSQL Nummern sortiert ausgeben

    geschrieben von php-oop

    Hallo,

    ich programmiere mir gerade eine kleine Kartenverwaltung mit Kartennummern.

    In der Datenbank gibt es eine Tabelle für die kartennummern, in der es eine Spalte "kartennummer" gibt.
    In dieser Spalte sind Zahlen von 1-400.

    Jetzt will ich mir alle Zahlen ausgeben lassen, allerdings sortiert, das heißt aufeinanderfolgend (1,2,3,4,5,6,7,....)

    Zurzeit werden mir bei der Ausgabe die Zahlen so ausgegeben: 1,10,100,101,102,...,109,11,110,111,112....


    Also, mein Problem ist, dass die Zahlen nicht sortiert ausgegeben werden.

    Zur Ausgabe benutze ich folgenden Code:

    $query = mysql_query ( "SELECT kartennummer FROM kv_karten WHERE anzahl >= " . $_POST [n] . " ORDER by kartennummer" );
    	$rows = mysql_num_rows ( $query );
    	
    	for($i = 1; $i <= $liste_rows; $i ++) {
    		$row = mysql_fetch_array ( $query, MYSQL_ASSOC );
    		
    		echo $row [kartennummer];
    	}
  • in: Suche detaillierte Besucherstatistik

    geschrieben von php-oop

    Danke für die Antworten!

    Piwik sieht ja sehr vielversprechend aus, ich werde es mal ausprobieren
  • in: Suche detaillierte Besucherstatistik

    geschrieben von php-oop

    Hallo,

    für meine Seite benötige ich eine ausführliche Besucherstatistik, mit allen wichtigen Daten, wie z.B. alle Besucherzahlen (heute, gestern, gesamt usw.) sowie Referrer, Suchmaschinen, Herkunft, Browser...

    Ob es ein externer Service ist oder ein Script auf meinem Webserver ist erstmal egal.

    Wichtig ist, dass auf der Seite, wo ich den Counter einbinde, kein Counter sichtbar ist, also unsichtbar ist.

    Könnt Ihr mir da was empfehlen, was ihr vielleicht sogar selber benutzt?
  • in: Minuszahl in Pluszahl umwandeln PHP

    geschrieben von php-oop

    Danke für die vielen Antworten!

    Die Funktion abs() hab ich gesucht.
  • in: Minuszahl in Pluszahl umwandeln PHP

    geschrieben von php-oop

    Hallo,

    ich suche einen PHP Code, um eine Minuszahl in eine Pluszahl umzuwandeln.

    Im Script habe ich eine Funktion, die Werte berechnet, wo eine Minuszahl das Ergebnis ist.
    Jetzt soll eine Pluszahl zurückgegeben werden. Wie mach ich das?

    Im Internet finde ich irgendwie nichts.
  • in: CSS float Problem

    geschrieben von php-oop

    tobiworlds schrieb:
    <?php
    $count = 1;
    if($count mod 2 == 0){
       //Ausgabe links
       $count++;
    } else {
       //Ausgabe rechts
    }
    ?>


    Cool, danke, so werde ich es mal probieren :biggrin:
  • in: CSS float Problem

    geschrieben von php-oop

    nilsmargotti schrieb:
    Lege eine beliebige variable fest mit anfangs wert 0

    If var == 0
    Anweisung
    Var = 1

    Elseif var == 1
    Anweisung
    var = 0


    Danke, hättest du ein Code Beispiel? :biggrin:
  • in: CSS float Problem

    geschrieben von php-oop

    nilsmargotti schrieb:
    Du solltest die boxen teilen. also Box_rechts und Box_links z.B und die dann mit Top top und left platzieren.


    Ja, könnte ich machen.
    Aber dann hab ich noch das Problem mit der Schleife, dann müsste ja bei jedem Durchlauf die jeweils andere Box kommen.
    Wie geht das?
  • in: CSS float Problem

    geschrieben von php-oop

    Hallo,
    ich gebe DIV Boxen dynamisch mit einer Schleife in PHP aus.

    .box {
    border:1px dashed;
    width:400px;
    padding:10px;
    float:left;
    clear:both;
    overflow:hidden;
    margin-bottom:10px;
    margin-left:10px;
    }


    So gebe ich die Boxen aus der Datenbank aus:

    <?php
    
    ...
    	
    	while ( $row = $abstract->fetchRow ( $res ) ) {
    		
    		echo '<div class="box">
    ....
    	</div>';
    	
    	}
    
    ?>


    Jetzt mein Problem:
    Im CSS Code habe ich schon mit float probiert, die Boxen nebeneinander anzuzeigen.
    Zurzeit werden sie untereinander angezeigt.

    Es sollen immer 2 Boxen nebeneinander angezeigt werden.

    Wie muss mein CSS Code genau lauten?
  • in: PHP Besucherzähler

    geschrieben von php-oop

    Ok, danke für die Antworten!
    Ich versuche mal, so ein Script zu schreiben...
  • in: PHP Besucherzähler

    geschrieben von php-oop

    zephyros schrieb:
    Hallo,
    Ich denke mal, du benutzt kein Content-Managemet-System (CMS) wie yoomla, wordpress o.ä.? Dort ist sowas normalerweise schon dabei.

    Eine Möglichkeit sowas selbst zu basteln ist mit einer SQL-Datenbank, mit der du jeden Besucher zählst. Dann kannst du die Abfragen ohne Probleme selbst machen. Mit den online-Besuchern musst du nur die daten bei jedem Seitenaufruf aktualisieren und dann z.B. alle in den letzten 15Minuten veränderten zusammenzählen. Falls du schon eine Session-ID verwendest hast du auch schon eine eindeutige Zuordnung pro Besucher.

    Gruß Zephyros


    Nein, ich benutze kein CMS.

    Eine Online-Anzeige der Besucher habe ich schon, nur fehlt mir das, das die Besucher gezählt werden.
    Es darf ja auch nicht jeder Seitenaufruf als ein neuer Besucher gezählt werden.
    Dafür brauche ich ein gutes Script.
  • in: PHP Besucherzähler

    geschrieben von php-oop

    Hi,
    ich suche für meine Seite einen Besucherzähler, der mir die gesamten Besucher, die Besucher von gestern, von heute, und die, die gerade online sind, anzeigt.

    Die Zähler, die ich bisher gefunden habe, zeigen nur die Gesamtzahl an.
    Wo finde ich so einen Counter, den ich beschrieben habe?
  • in: Durchgezogene Linie

    geschrieben von php-oop

    voloya schrieb:
    Hallo :wave:

    php-oop schrieb:
    Und was muss ich bei min-height angeben?


    Die gewünschte Länge der durchgezogenen Linie?

    mfg :wave:


    Ok, danke
    jetzt funktioniert es!
  • in: Durchgezogene Linie

    geschrieben von php-oop

    voloya schrieb:
    Hallo :wave:

    php-oop schrieb:
    voloya schrieb:
    Hallo :wave:

    php-oop schrieb:
    Für die Klasse "gb_eintrag_right" habe ich
    border-left:1px dotted #c0c0c0;
    definiert. Das Problem ist aber, dass der Rahmen nur so lange angezeigt wird, bis die Smilies aufhören. Aber ich will ja eine durchgehende Linie, links der Smilies, wie es auch im Beispiel zu sehen ist.

    Wie bekomme ich das hin?


    div mit minimum height?

    mfg :wave:


    Nein, also die Klasse steht im CSS so:

    .gb_eintrag_right {
    	float:right;
    	width:30%;
    	border-left:1px dotted #c0c0c0;
    	padding: 6px 6px 6px 7px;
    	background-color:#ECFFF1;
    }


    ? :confused:

    Du machst einen div mit minimum height und zeigst den linken Rand an, fertig.

    mfg :wave:


    Und was muss ich bei min-height angeben?
  • in: Durchgezogene Linie

    geschrieben von php-oop

    voloya schrieb:
    Hallo :wave:

    php-oop schrieb:
    Für die Klasse "gb_eintrag_right" habe ich
    border-left:1px dotted #c0c0c0;
    definiert. Das Problem ist aber, dass der Rahmen nur so lange angezeigt wird, bis die Smilies aufhören. Aber ich will ja eine durchgehende Linie, links der Smilies, wie es auch im Beispiel zu sehen ist.

    Wie bekomme ich das hin?


    div mit minimum height?

    mfg :wave:


    Nein, also die Klasse steht im CSS so:

    .gb_eintrag_right {
    	float:right;
    	width:30%;
    	border-left:1px dotted #c0c0c0;
    	padding: 6px 6px 6px 7px;
    	background-color:#ECFFF1;
    }
  • in: Durchgezogene Linie

    geschrieben von php-oop

    Danke für die Antworten!

    Das habe ich schon so gemacht. Hier der relevante Codeauschnitt:

    <div class="gb_eintrag_right">
    
    <a href="javascript:seticon(':)');"><img src="<?php echo DIR_IMG . 'smilies/1.gif'; ?>" border="0" alt="Smile" title=":_smile_:" class="imgbottom"></a>
    <a href="javascript:seticon(':(');"><img src="<?php echo DIR_IMG . 'smilies/2.gif'; ?>" border="0" alt="Wink" title=":_wink_:" class="imgbottom"></a>
    ...
    </div>


    Für die Klasse "gb_eintrag_right" habe ich
    border-left:1px dotted #c0c0c0;
    definiert. Das Problem ist aber, dass der Rahmen nur so lange angezeigt wird, bis die Smilies aufhören. Aber ich will ja eine durchgehende Linie, links der Smilies, wie es auch im Beispiel zu sehen ist.

    Wie bekomme ich das hin?
  • in: Zeichen in Textarea zählen JavaScript

    geschrieben von php-oop

    hackyourlife schrieb:
    Beim Script musst du gar nichts ändern, wenn du das HTML anpasst reicht das:
    <strong id="textcount">2000</strong> Zeichen verbleibend


    Danke, klappt wunderbar!
  • in: Durchgezogene Linie

    geschrieben von php-oop

    Hallo,

    habe eine kurze Frage.

    Ich sitze bestimmt schon den halben Tag an diesem Problem.

    Ich will bei einem Gästebuch neben den Eingabefeldern eine vertikale Linie haben, die ganz durchgezogen ist.
    Ungefähr genau so wie hier: http://gaijin.at/images/scr_phpgbook_2.png

    Wie mache ich sowas?

    Ich habe bis jetzt nur geschafft, dass eine Linie da angezeigt wird, wo auch Inhalt ist.
  • in: Zeichen in Textarea zählen JavaScript

    geschrieben von php-oop

    Hallo,

    ich möchte die Zeichen in einem Textfeld zählen, und ausgeben, wieviele noch übrig sind von der Maximalanzahl.
    Dazu habe ich dieses JavaScript:

    function TextCounter(maxlength)
    {
    	var s = document.form.text.value;
    	if (s.length > maxlength) {
    		document.form.text.value = s.substring(0, maxlength);
    	} else {
    		document.getElementById("textcount").innerHTML = maxlength - s.length;
    	}
    }


    Die Ausgabe erfolgt so:

    <span id="textcount"><strong>2000</strong></span> Zeichen verbleibend


    Das Formularfeld habe ich natürlich auch.

    Jetzt will ich, dass die Ausgabe fett (also mit <b>) ausgegen wird. Zurzeit wird die Zahl wieder normal (also nicht fett), wenn ich in das Formular klicke.
    Wie muss ich das Script umschreiben dafür?
  • in: .htaccess Passwortschutz Ausnahme

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Wie kann ich solch eine Ausnahme definieren?
    Lies dir das durch, vllt hilfts dir:
    The authentication type None disables authentication. When authentication is enabled, it is normally inherited by each subsequent configuration section, unless a different authentication type is specified. If no authentication is desired for a subsection of an authenticated section, the authentication type None may be used; in the following example, clients may access the /www/docs/public directory without authenticating:
        <Directory /www/docs> 
        AuthType Basic
        AuthName Documents
        AuthBasicProvider file
        AuthUserFile /usr/local/apache/passwd/passwords
        Require valid-user 
        </Directory>
    
        <Directory /www/docs/public>
        AuthType None
        Require all granted
        </Directory>


    Danke!

    Ich habe meine .htaccess jetzt so angepasst:

    <Directory /home/www/web48/html/beispiel>
    AuthType Basic
    AuthName "Passwortschutz"
    
    AuthUserFile /home/www/web48/files/.htpasswd
    require valid-user
    </Directory>
    
    <Directory /home/www/web48/html/ebay/beispielbeispiel3>
        AuthType None
        Require all granted
    </Directory>


    Jetzt kommt allerdings beim Aufruf nur noch der Fehler 500 "Internal Server Error"
  • in: .htaccess Passwortschutz Ausnahme

    geschrieben von php-oop

    Hallo,

    ich habe auf meinem Webserver ein bestimmtes Verzeichnis mittels einer .htaccess Datei geschützt. Nun habe ich aber eben gemerkt, dass ich den Zugriff auf ein Verzeichnis in dem geschützten Verzeichnis nicht geschützt haben will, also so, dass jeder darauf zugreifen kann.

    Meine Ordnerstruktur:

    - beispiel -> Hier liegt die .htaccess drin
    - beispielbeispiel -> Dieses Verzeichnis soll geschützt sein
    - beispielbeispiel2 -> Dieses Verzeichnis soll geschützt sein
    - beispielbeispiel3 -> Dieses Verzeichnis soll NICHT geschützt sein

    Wie kann ich solch eine Ausnahme definieren? Ich habe schon im Internet danach gesucht, aber nichts gefunden, was mir weitergeholfen hat.
    Könnt Ihr mir helfen?
  • in: Bilder nach Dateinamen sortieren

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Geht es auch, dass, wie vorher, 6 Bilder in einer Reihe angezeigt werden? Statt 3.
    Irgendwie steht in deinem Code nur was von
    $count % 3
    und ansonsten wird einfach ungültiger HTML-Code erstellt (pro Bild
    <tr>
    und alle 3 Bilder ein
    </tr>
    )... dass das 6 sein sollen war irgendwie nicht erkennbar...
    Bei mir hat das einfach alle Bilder untereinander dargestellt.

    Der ausgebesserte Code:
    <?php
    // Ordner $dir einlesen
    $images = array();
    $dir = './'; // Pfad zu den Bildern
    $handle = opendir($dir);
    
    while(($file = readdir($handle)) !== false) {
    	if(!is_dir($dir . $file) && preg_match('/\.(jpe?g|gif|png)$/i', $file)) {
    		$path = $dir . $file;
    		$images[$file] = array(
    			'mtime' => filemtime($path),
    			'path' => $path,
    			'size' => getimagesize($path)
    		);
    	}
    }
    closedir($handle);
    
    ksort($images); // nach Schlüsseln sortieren
    
    // Tabelle ausgeben; $cols Spalten
    echo("<table>\n");
    $counter = 0;
    $cols = 6; // 6 Spalten
    foreach($images as $name => $info) {
    	if(!($counter % $cols))
    		echo('<tr>');
    	echo("<td><img src=\"{$info['path']}\" width=\"150\" alt=\"{$name}\"></td>");
    	$counter++;
    	if(!($counter % $cols))
    		echo("</tr>\n");
    	$counter %= $cols;
    }
    if($counter % $cols)
    	echo('</tr>');
    echo('</table>');
    ?>


    Danke, jetzt gehts!
    Vielen lieben Dank für deine Hilfe! :thumb:
  • in: Bilder nach Dateinamen sortieren

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Wie passe ich das Script dementsprechend um?
    "umpassen"? das sollte "anpassen" heißen (oder "umändern") ;-)

    Zum Script: da ist relativ viel umständliches Zeug drin, ich hab mir die Mühe gemacht dein Script etwas zu verbessern und vereinfachen...
    <?php
    // Ordner $dir einlesen
    $images = array();
    $dir = './'; // Pfad zu den Bildern
    $handle = opendir($dir);
    
    while(($file = readdir($handle)) !== false) {
    	if(!is_dir($dir . $file) && preg_match('/\.(jpe?g|gif|png)$/i', $file)) {
    		$path = $dir . $file;
    		$images[$file] = array(
    			'mtime' => filemtime($path),
    			'path' => $path,
    			'size' => getimagesize($path)
    		);
    	}
    }
    closedir($handle);
    
    ksort($images); // nach Schlüsseln sortieren
    
    // Tabelle ausgeben; 3 Spalten
    echo("<table>\n");
    $counter = 0;
    foreach($images as $name => $info) {
    	if(!($counter % 3))
    		echo('<tr>');
    	echo("<td><img src=\"{$info['path']}\" width=\"150\" alt=\"{$name}\"></td>");
    	$counter++;
    	if(!($counter %3))
    		echo("</tr>\n");
    	$counter %= 3;
    }
    echo('</table>');
    ?>
    Schau obs dir so gefällt...
    Das Array $images hat einen neuen Aufbau... der sollte das ganze etwas sinnvoller und leichter verständlich machen ;-)


    Danke dir! Das klappt perfekt ;)

    Geht es auch, dass, wie vorher, 6 Bilder in einer Reihe angezeigt werden? Statt 3.
  • in: Bilder nach Dateinamen sortieren

    geschrieben von php-oop

    Hallo,

    hier habe ich ein Script, womit ich Bilder im gleichen Ordner, wo das Script liegt, ausgeben kann:

    <?php
    
    $bilderliste = array();
    $verzeichnis = "./";
    $handle = openDir($verzeichnis);
    while ($datei = readDir($handle)) {
     $verzeichnis_datei = $verzeichnis . $datei;
     if ($datei != "." && $datei != ".." && !is_dir($datei)) {
      if (strstr($datei, ".gif") || strstr($datei, ".png") || strstr($datei, ".jpg") || strstr($datei, ".JPG")) {
       $info = getimagesize($verzeichnis_datei);
       array_push($bilderliste, array(filemtime($verzeichnis_datei) , $verzeichnis_datei , $info[0] , $info[1]));
      }
     }
    }
    closeDir($handle);
    
    rsort($bilderliste);
    
    foreach ($bilderliste as $zaehler => $element) {
    
    $filepath = $bilderliste[$zaehler][1];
    
    echo '<tr><td><img src="' . $bilderliste[$zaehler][1] . '" width="150" alt=""></td>';
        $counter++;
        if (($counter % 3) == 0)
         {
         echo "</tr><tr>";
         }
        }
        echo "</table></td>
                  </tr>";
    
    ?>


    Zurzeit werden die Bilder nach dem Änderungsdatum sortiert, d.h. die Bilder, die ich zuletzt hoichgeladen habe, sind auch am Anfang der Seite. Ich will die Bilder aber nach Ihrem Dateinamen sortieren, in meinem Fall Nummern von 1 - 36. Wie passe ich das Script dementsprechend um?
  • in: border-radius auch im IE

    geschrieben von php-oop

    kostenlose-javascripts schrieb:
    In der neusten Version vom IE funktioniert border-radius.htc (ist sehr wahrscheinlich vom Inhalt die gleiche Datei wie deine) leider nicht mehr. Du müsstest entweder mit Bildern arbeiten oder (ich weiß nicht ob das überhaupt möglich ist ) den IE in irgendeinen Kompatiblitätsmodus setzen.


    Danke für deine Antwort!
    Dann werde ich wahrscheinlich mit Bildern arbeiten.
  • in: border-radius auch im IE

    geschrieben von php-oop

    Hallo,

    ich habe gestern auf einer Testseite "border-radius" getestet. Diese Funktion funktioniert bei mir allerdings nur im Opera, aber nicht im IE.

    Also habe ich im Internet nachgesucht, und habe heraus gefunden, dass es mit "PIE" geht. Oder gibt es andere Möglichkeiten?

    Hier meine Testseite: http://php-oop.lima-city.de/test.php

    Der Quelltext ist folgender:

    <html>
    <head>
    <title>Test</title>
    <!--[if lte IE 8]>
      <style type="text/css">
        .box {behavior:url(PIE.htc);}
      </style>
    <![endif]-->
    <style type="text/css">
    <!--
    .box { 
    background-color: #FFFFFF;
    border-radius: 8px;
    margin: 0px 10px 10px;
    padding: 10px 20px;
     }
    -->
    </style>
    </head>
    <body bgcolor="#ededed">
    
    <div class="box">
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </div>
    
    </body>
    </html>


    Aber im IE wird die Box noch eckig dargestellt, also nicht rund.

    Wie kann ich border-radius auch im IE verwenden?
  • in: Tabellenreihen per Klick ein-/ausblenden Javascript

    geschrieben von php-oop

    hackyourlife schrieb:
    sawei3 schrieb:
    und dann halt statt display:none im javascript block machst!
    Fast: das Javascript muss so bleiben wie es ist, ansonsten stimmt es...


    Danke euch beiden!

    Habs eben getestet, und es klappt alles wunderbar!
    Danke nochmal!
  • in: Tabellenreihen per Klick ein-/ausblenden Javascript

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Ich habe das Script gerade getestet. Aber irgendwie tut sich noch garnichts.
    Beim Klick auf den Link passiert nichts. Ist im Script vielleicht noch ein Fehler drin?
    Ok, es war ungetestet und hat 2 Fehler...
    das ganze Script nochmal, diesmal funktioniert es:
    <script type="text/javascript"><!--
    	var elemente = ['row_bild2', 'row_bild3', 'row_bild4']; // hier gehören die Element-IDs rein
    	function toggleElement(id) {
    		var element = document.getElementById(id);
    		if(element.style.display == 'none')
    			element.style.display = ''; // oder 'block' ...
    		else
    			element.style.display = 'none';
    	}
    	function toggleAll() {
    		for(var i = 0; i < elemente.length; i++)
    			toggleElement(elemente[i]);
    	}
    // --></script>
    Alle <a href="#" onclick="toggleAll();">togglen</a>


    Hi!

    So funktioniert es, danke!
    Geht es auch, dass, wenn man auf die Seite kommt, die Felder versteckt sind, nicht schon eingeblendet sind?
    Also andersrum als jetzt?
  • in: Tabellenreihen per Klick ein-/ausblenden Javascript

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Danke, aber ich will einen Link zum verstecken UND zum anzeigen.

    Achso, das ist toggeln
    Ja, so will ich es gerne haben.
    Das man mit einem Klick die Reihen einblendet und beim nächsten Klick ausblendet.
    <script type="text/javascript"><!--
    	var elemente = ['row_bild1', 'row_bild2', 'row_bild3']; // hier gehören die Element-IDs rein
    	function toggleElement(id) {
    		var element = document.getElementById(id);
    		if(element.style.display == 'none')
    			element.style.display = 'inline'; // oder 'block' ...
    		else
    			element.style.display = 'none';
    	}
    	function toggleAll() {
    		for(var i = 0; i < elemente.length; i++)
    			toggleElement(elemente[i]);
    	}
    // --></script>
    Alle <a href="#" onclick="toggleAll();">togglen</a>


    Ich habe das Script gerade getestet. Aber irgendwie tut sich noch garnichts.
    Beim Klick auf den Link passiert nichts. Ist im Script vielleicht noch ein Fehler drin?
  • in: Tabellenreihen per Klick ein-/ausblenden Javascript

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    Was ist "toggeln"?
    Wenn du einmal auf den Knopf drückst verschwindet es, beim zweiten Mal erscheint es wieder; das nennt man "toggeln".

    php-oop schrieb:
    Ich will aber die drei Zeilen aufeinmal ein- oder ausblenden, also die hier:

    Also das was du noch haben möchtest:
    <script type="text/javascript"><!--
    	var elemente = ['row_bild1', 'row_bild2', 'row_bild3'];
    	function showElement(id) {
    		var element = document.getElementById(id);
    		element.style.display = 'inline'; // oder 'block' ...
    	}
    	function hideElement(id) {
    		var element = document.getElementById(id);
    		element.style.display = 'none';
    	}
    	function showAll() {
    		for(var i = 0; i < elemente.length; i++)
    			showElement(elemente[i]);
    	}
    	function hideAll() {
    		for(var i = 0; i < elemente.length; i++)
    			hideElement(elemente[i]);
    	}
    // --></script>
    Alle <a href="#" onclick="hideAll();">verstecken</a>
    Alle <a href="#" onclick="showAll();">anzeigen</a>


    Danke, aber ich will einen Link zum verstecken UND zum anzeigen.

    Achso, das ist toggeln
    Ja, so will ich es gerne haben.
    Das man mit einem Klick die Reihen einblendet und beim nächsten Klick ausblendet.

    Kannst du das Script noch so umbauen? Das wäre nett.
  • in: Tabellenreihen per Klick ein-/ausblenden Javascript

    geschrieben von php-oop

    hackyourlife schrieb:
    Könnte so funktionieren:
    <script type="text/javascript"><!--
    	function show(id) {
    		var element = document.getElementById(id);
    		element.style.display = 'inline'; // oder 'block' ...
    	}
    	function hide(id) {
    		var element = document.getElementById(id);
    		element.style.display = 'none';
    	}
    // --></script>
    Reihe row_bild2 <a href="#" onclick="hide('row_bild2');">verstecken</a>
    Willst du das auch noch toggeln?


    Danke für deine Antwort !
    Was ist "toggeln"?

    Ich will aber die drei Zeilen aufeinmal ein- oder ausblenden, also die hier:

    <tr id="row_bild2">
    				<td width="29%">Weitere Bildurls:</td>
    				<td width="71%"><input type="text" name="bild2" size="72"
    					style="width: 600px;" /></td>
    			</tr>
    			<tr id="row_bild3">
    				<td width="29%"></td>
    				<td width="71%"><input type="text" name="bild3" size="72"
    					style="width: 600px;" /></td>
    			</tr>
    			<tr id="row_bild4">
    				<td width="29%"></td>
    				<td width="71%"><input type="text" name="bild4" size="72"
    					style="width: 600px;" /></td>
    			</tr>


    Wie kann ich das machen?

    EDIT: Ich habe dein Script gerade ausprobiert. Es klappt, das eine Tabellenreihe ausgeblendet wird, aber es sollen die o.g. 3 Reihen ausgeblendet werden.
    Und mit Klick auf einen Link sollen die Reihen ein- oder ausgeblendet werden. Nicht nur ausgeblendet.
  • in: Tabellenreihen per Klick ein-/ausblenden Javascript

    geschrieben von php-oop

    Hallo !

    Ich habe in etwa so eine HTML Tabelle:

    <table border="0">
    ....
    			<tr>
    				<td width="29%">Bildurl:</td>
    				<td width="71%"><input type="text" name="bildurl" size="72"
    					style="width: 600px;" /></td>
    			</tr>
    			<tr id="row_bild2">
    				<td width="29%">Weitere Bildurls:</td>
    				<td width="71%"><input type="text" name="bild2" size="72"
    					style="width: 600px;" /></td>
    			</tr>
    			<tr id="row_bild3">
    				<td width="29%"></td>
    				<td width="71%"><input type="text" name="bild3" size="72"
    					style="width: 600px;" /></td>
    			</tr>
    			<tr id="row_bild4">
    				<td width="29%"></td>
    				<td width="71%"><input type="text" name="bild4" size="72"
    					style="width: 600px;" /></td>
    			</tr>
    			<tr>
    				<td width="29%">Zustand:</td>
    				<td width="71%"></td>
    			</tr>
    			<tr>
    				<td width="29%"></td>
    				<td width="71%"></td>
    			</tr>
    .......


    Die Reihen:

    <tr id="row_bild2">
    				<td width="29%">Weitere Bildurls:</td>
    				<td width="71%"><input type="text" name="bild2" size="72"
    					style="width: 600px;" /></td>
    			</tr>
    			<tr id="row_bild3">
    				<td width="29%"></td>
    				<td width="71%"><input type="text" name="bild3" size="72"
    					style="width: 600px;" /></td>
    			</tr>
    			<tr id="row_bild4">
    				<td width="29%"></td>
    				<td width="71%"><input type="text" name="bild4" size="72"
    					style="width: 600px;" /></td>
    			</tr>


    will ich mit Javascript bei Klick ein- und ausblenden. Also per Klick einblenden, wenn man dann nochmal klickt ausblenden.

    Wie mache ich das? Bei Google habe ich schon lange nach meinem Problem gesucht, aber nichts gefunden.

    Könnt Ihr mir helfen?
  • in: Javascript zum Enfernen von letzter Tabellenreihe

    geschrieben von php-oop

    hackyourlife schrieb:

    Kennt irgendwer den Grund des interessanten Verhaltens?



    Kann mir einer dabei helfen?

    EDIT: Ich habe das Script mal als Demo eingerichtet: http://php-oop.lima-city.de/test.php

    Das Problem: Wenn ich auf "Zeile löschen" klicke, wird die ganze Tabelle gelöscht, es soll aber jeweils die letzte Zeile gelöscht werden.
    Könnt Ihr mir dabei helfen?
  • in: Javascript zum Enfernen von letzter Tabellenreihe

    geschrieben von php-oop

    hackyourlife schrieb:
    php-oop schrieb:
    ich suche ein Javascript, welches die letzte eingefügte Zeile entfernt. Dazu habe ich das hier gefunden
    Dazu gibt es die Eigenschaft
    lastChild
    .
    Versuch mal so was:
    <script language="JavaScript" type="text/javascript"><!--
    var rws;
    function RemoveRow(obj){ // obj = Tabellen-ID
     obj=document.getElementById(obj);
     obj.removeChild(obj.lastChild); // letztes Element von obj wird entfernt
    }
    //--></script>


    Danke für deine Antwort!
    Wenn ich jetzt auf den Button klicke, wird die komplette Tabelle gelöscht, aber es soll ja immer nur eine Reihe entfernt werden.

    Die Tabelle sieht so aus:

    <table id="eintragen">
    	<img src="../img/add.png" onClick="addRow('eintragen')"><img src="../img/icons/delete2.png" onClick="deleteRow('eintragen')">
    	<tr>
    	<td><input type="text" name="Menge[]" size="30" style="width: 50px;"  /></td>
    	<td><input type="text" name="Name[]" size="30" style="width: 540px;"  /></td>
    	</tr>
    	<tr>
    	<td><input type="text" name="Menge[]" size="30" style="width: 50px;" /></td>
    	<td><input type="text" name="Name[]" size="30" style="width: 540px;" /></td>
    	</tr>
    	<tr>
    	<td><input type="text" name="Menge[]" size="30" style="width: 50px;" /></td>
    	<td><input type="text" name="Name[]" size="30" style="width: 540px;" /></td>
    	</tr>
    	<tr>
    	<td><input type="text" name="Menge[]" size="30" style="width: 50px;" /></td>
    	<td><input type="text" name="Name[]" size="30" style="width: 540px;" /></td>
    	</tr>
    	</table>


    Wie kann ich nur eine Reihe löschen?
  • in: Javascript zum Enfernen von letzter Tabellenreihe

    geschrieben von php-oop

    Hallo,
    ich suche ein Javascript, welches die letzte eingefügte Zeile entfernt. Dazu habe ich das hier gefunden:

    <script language="JavaScript" type="text/javascript">
    <!--
    var rws;
    function RemoveRow(obj){
     obj=document.getElementById(obj);
     rws=obj.getElementsByTagName('TR');
     obj.removeChild(rws[rws.length-1]);
    }
    
    //-->
    </script>


    was aber nicht funktioniert. Es passiert beim Klick auf den Button (<img src=\"delete.png\" onClick=\"deleteRow('eintragen')\">) nichts.

    Zum Einfügen von Zeilen habe ich schon ein Javascript, was auch funktioniert. Ich brauche nur noch ein Script zum Entfernen der letzten Zeile.

    Könnt Ihr mir helfen?
  • in: RSS Feed wird nicht richtig angezeigt PHP

    geschrieben von php-oop

    webaffe schrieb:
    wenn du FEhler hast, könntest du dann mal die Fehler Codes posten oder kommst du einfach nicht weiter? Dann kann ich nur empfehlen eine Runde schlafen und morgen noch mal anschauen


    Mein Fehler ist, dass ich bei der Ausgabe nur die Sender (ARD, ZDF usw.) ausgegeben bekomme, aber nicht den dazugehörigen Titel, der mit dem passenden Link verlinkt ist.
    Ich weiß leider nicht, wie ich das Script umschreiben muss, damit es funktioniert.
  • in: RSS Feed wird nicht richtig angezeigt PHP

    geschrieben von php-oop

    Hallo,

    ich versuche schon den halben Tag diesen RSS Feed auszugeben. Das ist mein Script:

    <?php
    
    $inhalt="http://www.rtv.de/rss/2015.xml";
    
    if (@fopen("$inhalt", "r") != "")
    {
    
    $quelle = @file($inhalt); 
    $data = implode ("", $quelle);
    
    preg_match_all("|<item>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    if (count($items[1])==0) {
    preg_match_all("|<item .*>(.*)</item>|Uism",$data, $items, PREG_PATTERN_ORDER);
    }
    for ($i=0; $i<10; $i++) { preg_match_all("|<title>(.*)</title>(.*)<link>(.*)</link>|Uism",$items[1][$i], $regs, PREG_PATTERN_ORDER);
    preg_match_all("|<description>(.*)</description>|Uism",$items[1][$i], $regs2, PREG_PATTERN_ORDER);
    
    $title = html_entity_decode(utf8_decode($regs[1][0])); 
    $description = $regs2[1][0];
    $sender = explode ( "," ,$description);
    
    echo '<br><font color="#FF9900"><b>'.$sender[0].'</b></font>
    <b><a href="'.$regs[3][0].'" target="_blank"><font color="#000080">'.$title.'</font></a></b>'; 
    }
    }
    ?>


    Es geht um diesen Feed: http://www.rtv.de/rss/2015.xml

    Zurzeit werden nur 11 Sender untereinander ausgegeben, aber es soll auch der Titel und der Link ausgegeben werden.

    Könnt Ihr mir helfen?
  • in: GET-Variable an Link dranhängen

    geschrieben von php-oop

    hackyourlife schrieb:
    Könntest du so erreichen:
    <a href="seite.php?<?php echo(htmlentities($_SERVER['QUERY_STRING'])); ?>&noch=was">Dein Link</a>


    Danke!
    Sowas habe ich gesucht!
  • in: GET-Variable an Link dranhängen

    geschrieben von php-oop

    software-brosch schrieb:
    Beschreibe dein Problem etwas genauer und nicht so schwammig (dein text macht irgendwie keinen Sinn).

    Wenn du nur nochwas an die URL anhängen willst, musst du einfach folgenden Code verwenden:
    <?php
    $extra = '?nochwas=1';
    echo 'beispiel.php'.$extra;
    ?>

    Das & brauchst du nur um die Variablen in der URL voneinander abzugrenzen.

    Falls das nicht deine Frage war, stelle diese bitte etwas genauer.

    Gruß S.Brosch


    Das war nicht ganz meine Frage.

    Ich will "nochwas" an die URL anhängen, aber davor befinden sich schon GET Parameter (beispiel.php?site=beispiel&id=1)
    Also ich will einen Link mit "&nochwas=1" verlinken, und dann soll die URL beispiel.php?site=beispiel&id=1&nochwas=1 aufgerufen werden.

    Verstehst du, was ich meine?
  • in: GET-Variable an Link dranhängen

    geschrieben von php-oop

    Hi !

    Ich habe folgendes Problem:

    Ich gehe auf eine Seite mit der URL:

    beispiel.php?site=beispiel&id=1


    Auf dieser Seite, auf die ich dann komme, klicke ich auf einen Link, die URL soll dann so lauten:

    beispiel.php?site=beispiel&id=1&nochwas=1


    Dabei will ich bei der Verlinkung nur das hier

    &nochwas=1


    angeben, nicht das andere alles.
    Geht das? Und wenn ja, wie?
  • in: Datenbankabfrage in While Schleife funktioniert nicht

    geschrieben von php-oop

    ggamee schrieb:
    Oh man, ich muss dringend aussschlafen....-.-

    Ja, ok, du hast da einen kleinen Logikfehler. Tut mir leid, das habe ich total übersehen.
    In der Whileschleife selbst machst du ja nocheine Query, und überschreibst damit das result der ersten Query. Also:

    Query
    while (Query)
    newQuery
    while newQuery

    Und die Resouce der alten Query hast du überschrieben. Abhilfe schafft sich, indem du die Resoucen auswärts lagerst:
    public function query($query) {
      	$this->result=mysql_query($query);
      	$this->counter=NULL;
                    return $this->result;
      }
    
    public function fetchRow( $result = NULL ) {
    if ( $result === NULL ) {
      	return mysql_fetch_assoc($this->result);
    } else {
      	return mysql_fetch_assoc($result);
    }
      }


    $rezept_query = 'SELECT * FROM dl_rezepte where kategorie_id = ' . $katID . ' order by rezeptname';
    	$rezepte_res = $abstract->query ( $rezept_query );
    	
    	while ( $rezept = $abstract->fetchRow ( $rezepte_res ) ) {
    			
    	$rating_query = 'SELECT * FROM dl_rezept_bewertungen where id = ' . $rezept ['id'];
    	  $rating_res = $abstract->query ( $rating_query );
    	  while ($rating = $abstract->fetchRow ( $rating_res ) ) {


    So besser?
    Tut mir leid, ich bin noch Müde :-D

    Liebe Grüße


    Danke, so funktioniert es!
    Auch danke an die anderen ;)
  • in: Datenbankabfrage in While Schleife funktioniert nicht

    geschrieben von php-oop

    hemiolos schrieb:
    php-oop schrieb:
    ... Wenn ich das aber so mache, wird mir nur ein Datensatz ausgegeben. Lass ich die zweite Abfrage aber weg, funktioniert es wieder.

    Wie kann ich das Problem lösen?

    In der Tabelle "rezepte" sind die Datensätze gespeichert, in der Tabelle "bewertungen" die entsprechenden Bewertungen in der Spalte "id". Diese "id" entspricht der "id" aus der Tabelle "rezepte"
    weil die datensatzfrage eigentlich noch nicht geklärt ist UND wenn ich den letzten teil richtig interpretiere, dann:
    $query = 'SELECT * FROM rezepte where kategorie_id = ' . $_GET ['kategorie'] . ' order by rezeptname';
    	$res = $abstract->query ( $query );
    
    	while ( $rezept = $abstract->fetchRow () ) {
    
    	  $rating_query = 'SELECT * FROM bewertungen where id = ' . $rezept ['id'];
    	  $res = $abstract->query ( $rating_query );
    	  while ($rating = $abstract->fetchRow ($res)) {
    
    		  echo '
    		  <div id="container">
    			  <div id="left">
    				  <a href="' . DIR_HTML . strtolower($rezept ['kategorie_name']) . '/' . $rezept ['id'] . '-' . $name . '.php">
    				  <img src="' . DIR_IMG . 'rezepte/rezeptbilder/' . $rezept ['bild'] . '" /></a>
    			  </div>
    			  <div id="middle">
    				  <a href="' . DIR_HTML . $kategoriename . '/' . $rezept ['id'] . '-' . $name . '.php">' . $rezept ['rezeptname'] . '</a>
    			  </div>
    			  <div id="right">
    
    	    		<div style="margin: 4px 0px 0px 3px;">' . $rating['total_votes'] . ' Bewertungen</div>
    
    			  </div>
    			  <div class="clr"></div>
    		  </div>';
    		}
    	}
    wobei die sicherheitskritik von @ggamee natürlich enorm wichtig ist und in meinem kode natürlich(¿) nicht engearbeitet ist! also vorsich vor nachsicht ;)


    Das klappt irgendwie noch nicht. Es wird nur ein Datensatz ausgegeben und nicht alle, die in der Tabelle "rezepte" unter der kategorie id gespeichert ist.

    Ich habe es jetzt so:

    $rezept_query = 'SELECT * FROM dl_rezepte where kategorie_id = ' . $katID . ' order by rezeptname';
    	$res = $abstract->query ( $rezept_query );
    	
    	while ( $rezept = $abstract->fetchRow () ) {
    			
    	$rating_query = 'SELECT * FROM dl_rezept_bewertungen where id = ' . $rezept ['id'];
    	  $res = $abstract->query ( $rating_query );
    	  while ($rating = $abstract->fetchRow () ) {
    	
    		echo '
    
    ...
    
    ' . $rating['total_votes'] . ' Bewertung
    
    ...
    
    ';		
    	
    	}
    	}
  • in: Datenbankabfrage in While Schleife funktioniert nicht

    geschrieben von php-oop

    ggamee schrieb:
    Wäre nett, wenn man erfahren könnte, was hinter der $abstract steckt. Wenn da zum Beispiel MySQLi hinter steckt, dann würdest du bei der Query ein Result-Object zurückkriegen, welches du nach dem ergebnis Fragen müsstest, also so:
    $query = 'SELECT * FROM rezepte where kategorie_id = ' . $_GET ['kategorie'] . ' order by rezeptname';
    	$res = $abstract->query ( $query );
    
    	while ( $rezept = $res->fetchRow () ) {

    Dafür müsste ich zumindest aber wissen, was hinter dem $abstract steckt.

    Und kleine Bemerkung nebenbei:
    $query = 'SELECT * FROM rezepte where kategorie_id = ' . $_GET ['kategorie'] . ' order by rezeptname';

    ist eine super Einfallslücke für Angreifer. Über das $_GET könnte jemand anderes eine SQL Injection tätigen, welche für dich unschön wäre.
    Mach des doch lieber so:
    $katID = intval( $_GET['kategorie'] );
    $query = 'SELECT * FROM rezepte where kategorie_id = ' . $katID . ' order by rezeptname';

    Damit bist du sicher, dass die ID, welche übergeben wird ein Integer, also eine Zahl ist.

    Liebe Grüße


    Danke für den Tipp !
    Werde ich so machen!

    Hinter $abstract steckt eine Datenbankklasse
    Hier hab ich aus der Klasse mal die Funktion query kopiert:
    public function query($query) {
      	$this->result=mysql_query($query);
      	$this->counter=NULL;
      }


    und die fetchRow() funktion:

    public function fetchRow() {
      	return mysql_fetch_assoc($this->result);
      }
  • in: Datenbankabfrage in While Schleife funktioniert nicht

    geschrieben von php-oop

    Ich habe folgendes Problem:

    Zum Ausgeben von Datensätzen aus der DB benutze ich eine while Schleife:

    ...
    	$query = 'SELECT * FROM rezepte where kategorie_id = ' . $_GET ['kategorie'] . ' order by rezeptname';
    	$res = $abstract->query ( $query );
    
    	while ( $rezept = $abstract->fetchRow () ) {
    	
    	$rating_query = 'SELECT * FROM bewertungen where id = ' . $rezept ['id'];
    	$res = $abstract->query ( $rating_query );
    	$rating = $abstract->fetchRow ();
    	
    		echo '
    		<div id="container">
    			<div id="left">
    				<a href="' . DIR_HTML . strtolower($rezept ['kategorie_name']) . '/' . $rezept ['id'] . '-' . $name . '.php">
    				<img src="' . DIR_IMG . 'rezepte/rezeptbilder/' . $rezept ['bild'] . '" /></a>
    			</div>
    			<div id="middle">
    				<a href="' . DIR_HTML . $kategoriename . '/' . $rezept ['id'] . '-' . $name . '.php">' . $rezept ['rezeptname'] . '</a>
    			</div>
    			<div id="right">
    	  		
    	  		<div style="margin: 4px 0px 0px 3px;">' . $rating['total_votes'] . ' Bewertungen</div>
    	  		
    			</div>
    			<div class="clr"></div>
    		</div>';
    	}
    ...


    Das Problem ist diese Abfrage in der While Schleife:

    $rating_query = 'SELECT * FROM bewertungen where id = ' . $rezept ['id'];
    	$res = $abstract->query ( $rating_query );
    	$rating = $abstract->fetchRow ();


    Damit will ich erreichen, dass die Tabellenzeile aus der Tabelle "bewertungen" mit der id ausgegeben wird.
    Wenn ich das aber so mache, wird mir nur ein Datensatz ausgegeben. Lass ich die zweite Abfrage aber weg, funktioniert es wieder.

    Wie kann ich das Problem lösen?

    In der Tabelle "rezepte" sind die Datensätze gespeichert, in der Tabelle "bewertungen" die entsprechenden Bewertungen in der Spalte "id". Diese "id" entspricht der "id" aus der Tabelle "rezepte"
  • in: Mod Rewrite Frage

    geschrieben von php-oop

    kochmarkus schrieb:
    Hi,

    [-0-9] matcht halt nur 1-stellige Zahlen, probier es mal mit [-0-9]+

    Also:
    RewriteRule ^([-0-9]+).html$ rezepte.php?rezept=$1 [L]


    Klappt wunderbar. Danke !
  • in: Mod Rewrite Frage

    geschrieben von php-oop

    Hallo !

    Ich habe mal eine Frage zu Mod Rewrite. Ich habe in meiner htaccess jetzt:

    RewriteRule ^([-0-9]).html$ rezepte.php?rezept=$1 [L]


    Allerdings funktioniert es nur bei den Zahlen bis zur 9. Wie kann ich alle höheren Zahlen auch einbeziehen?

    Also, wenn ich 3.html aufrufe, funktioniert es, aber bei z.B. 20.html funktioniert es nicht.

    Wie muss ich den Code umschreiben, damit auch die Zahlen über 9 einbezogen werden? Bei Google hab ich keine Lösung gefunden -.-
  • in: Optionfeld schon ausgewählt

    geschrieben von php-oop

    Ja, das ist richtig !

    Ich habe es eben mit deinem Code probiert, jetzt funktioniert alles, wie es soll ;)

    Danke für deine Hilfe !

    fr34qy schrieb:
    Hallo php-oop,

    sehe ich das richtig, dass du die Kategorie standardmäßig willst, die die id $kategorie_id hat?

    Ist es dann nicht sinnlos, einen Zähler $i hochzuzählen und damit zu vergleichen?
    Müsste der Code dann nicht eher so aussehen?
    $kategorie_query = "SELECT * FROM dl_rezept_kategorien";
    $res = $abstract->query ( $kategorie_query );
    
    while ( $kategorie = $abstract->fetchRow () ) {
    	if ($kategorie['id'] == $kategorie_id) {
    		echo '<option value="' . $kategorie ['id'] . '" selected>' . $kategorie ['name'] . '</option>';
    	} else {
    		echo '<option value="' . $kategorie ['id'] . '">' . $kategorie ['name'] . '</option>';
    	}
    }


    Ich kann mir zwar nicht vorstellen, dass das dein Problem behebt, aber da es ja bei fortlaufenden nicht auftritt, und $i auch fortlaufend ist, würde ich es auf einen Versuch ankommen lassen...

    Ansonsten lass dir, wie maxplus schon gesagt hat, am Besten mal alle Werte, die in der Abfrage drinstehn, ausgeben...
  • in: Optionfeld schon ausgewählt

    geschrieben von php-oop

    Hallo,

    ich habe das folgende Script zum Ändern einer Kategorie:

    $kategorie_query = "SELECT * FROM dl_rezept_kategorien";
    	$res = $abstract->query ( $kategorie_query );
    	
    	$i=1;
    	while ( $kategorie = $abstract->fetchRow () ) {
    	if ($i == $kategorie_id) {
    	echo '<option value="' . $kategorie ['id'] . '" selected>' . $kategorie ['name'] . '</option>';
    	} else {
    	echo '<option value="' . $kategorie ['id'] . '">' . $kategorie ['name'] . '</option>';
    	}
    	$i++;
    	}


    In der Datenbank steht eine Kategorie ID, und das Script gibt die aktuelle Kategorie als selected aus.

    Folgendes Problem gibt es mit diesem Script:

    Wenn die Kategorie IDs nicht fortlaufend in der Datenbank stehen, bleibt das Script schon bei der ersten Kategorie stehen.
    Warum ist das so?

    Beispiel:

    1|Testkategorie1
    2|Testkategorie2
    3|Testkategorie3
    .....
    7|Testkategorie7

    Bei den ersten drei zeigt das Script die richtige Kategorie bei der Änderung an, aber wenn die 7. Kategorie ausgewählt ist, nicht.
  • in: Bestimmte Zeichen ersetzen PHP

    geschrieben von php-oop

    drafed-map schrieb:
    Du musst preg_replace() einfach mit unterschiedlichen Parametern untereinandersetzen und dabei immer den selben String weiterbearbeiten.

    php-oop schrieb:
    Edit: Kann man mit preg_replace() auch Großbuchstaben ersetzen zu kleinbuchstaben, sodass der ganze Text klein geschrieben ist?
    Ja, das geht. Dafür müsstest du aber für jeden Buchstaben eine Zeile schreiben, was bei 26 Buchstaben + 3 Umlauten allerdings ziemlich aufwändig wäre. strtolower() zu nutzen, ist viel einfacher.


    Danke für die Antwort !

    Ich habe das jetzt so gelöst:

    $umlaute = array("/ä/","/ö/","/ü/","/Ä/","/Ö/","/Ü/","/ß/","/\s+/"); 
    		$replace = array("ae","oe","ue","Ae","Oe","Ue","ss","-"); 
    		$name = preg_replace($umlaute, $replace, $rezeptname); 
    		$new_name = strtolower($name);


    Gibt es noch andere Zeichen, die man in einem Link zu einem Bild ersetzen sollte?
  • in: Bestimmte Zeichen ersetzen PHP

    geschrieben von php-oop

    fitsein schrieb:
    Das kannst du mit preg_replace bewerkstelligen


    Ich hab mir die Funktion eben angesehen. Kannst du mir ein kurzes Beispiel geben?
    Ich habe probiert, mehrere Werte ersetzen zu lassen, es hat aber irgendwie nicht geklappt.

    Edit: Kann man mit preg_replace() auch Großbuchstaben ersetzen zu kleinbuchstaben, sodass der ganze Text klein geschrieben ist?
  • in: Bestimmte Zeichen ersetzen PHP

    geschrieben von php-oop

    Hi!

    Ich hab mal eine kleine Frage.
    Und zwar, wie kann ich in einem Text, der in ein Html Form Input Feld eingegeben wurde, bestimmte zeichen ersetzen?

    Beispiel:

    Die Änderung meiner Webseite

    soll werden zu

    die-aenderung-meiner-webseite


    Wie mache ich das?
  • in: Mod-Rewrite Frage

    geschrieben von php-oop

    kill-a-teddy schrieb:
    Ich denke dabei daran mittels php einen Code zu erstellen, inder du eine Variable verwendest für den Inhalt der .htaccess und dann immer fopen und fwrite verwendest, um den Code in die .htaccess zu schreiben... So hast du den Code absolut variabel...


    Ja, könnte ich machen
    Danke!
  • in: Mod-Rewrite Frage

    geschrieben von php-oop

    Hi!

    Ich habe eine kurze Frage zu Mod-Rewrite. Dazu habe ich mich bei Google schon etwas in das Thema reingelesen, und weiß jetzt, wie ich einzelne Php Links zu statischen .html Seiten umwandeln kann.

    Meine Frage ist jetzt, wie ich Mod-Rewrite Links automatisch erstellen kann.

    Also, in meinem Fall, für jede Kategorie einen Link.

    Beispiel:

    In die Datenbank trage ich eine neue Kategorie ein, das sieht dann so aus:

    Id|Name
    1|Testkategorie
    2|Testkategorie2

    Auf der entsprechenden PHP Seite werden die Links mittels einer Schleife ausgelesen und ausgegeben.

    Wie kann ich jetzt automatisch mod-rewrite Links erstellen lassen. Manuell kann ich die so erstellen:

    RewriteEngine On
    
    RewriteBase /new
    
    RewriteRule ^testseite.html$ index.php?site=testseite [L]


    Aber wie erstelle ich die automatisch (dynamisch)?
  • in: Optionfeld bei Änderung schon ausgewählt

    geschrieben von php-oop

    dexus85 schrieb:
    $rezept_query = "SELECT * FROM dl_rezept WHERE id = 1";
    $rezept_res = $abstract->query ( $rezept_query );
    $rezept= $rezept_res->fetchRow ();
    
    $kategorie_query = "SELECT * FROM dl_rezept_kategorien";
    $kategorie_res = $abstract->query ( $kategorie_query );
    	while ( $kategorie = $kategorie_res->fetchRow () ) {
    	?>
    	<option <?php echo (($rezept['kat_id']== $kategorie ['id'])?'selected="selected" ':'')?>value="<?php echo $kategorie ['id']; ?>"><?php echo $kategorie ['name']; ?></option>
    	<?php 
    	} ?>


    Danke, nach ein paar Anpassungen habe ich es hinbekommen ;)
  • in: Optionfeld bei Änderung schon ausgewählt

    geschrieben von php-oop

    alfr3d schrieb:
    Wie ließt du denn die Kategorie aus?

    Du musst eben überprüfen ob die ausgelesene Kategorie der Option im Select entspricht und in diesem Fall das selected ausgeben.
    Deinem Namen nach, dachte ich das würdest du selbst hinbekommen.

    Es könnte evtl so aussehen:
    //KategorieId (bei dir aus Datenbank)
    $catId = 1;
    
    //Selectfeld bauen
    echo "<select>";
    for ($i=0; $<2; $i++) {
      if ($i == $catId) {
        echo "<option value=\"".$i."\" selected>Kategorie ".$i."</option>";
      } else {
        echo "<option value=\"".$i."\">Kategorie ".$i."</option>";
      }
    }
    echo "</select>";

    Ist jetzt nicht die sauberste Lösung aber sollte das Vorhaben verdeutlichen!


    Hi !

    Danke für die Antwort !

    Ich habe versucht, es an mich anzupassen, aber irgendwie funktioniert es nicht.
    Ich poste hier mal den Code, wie ich es derzeit mache:

    $kategorie_query = "SELECT * FROM dl_rezept_kategorien";
    	$res = $abstract->query ( $kategorie_query );
    	while ( $kategorie = $abstract->fetchRow () ) {
    	?>
    	<option value="<?php echo $kategorie ['id']; ?>"><?php echo $kategorie ['name']; ?></option>
    	<?php 
    	} ?>


    Kannst du mir es entsprechend umbauen?
  • in: Optionfeld bei Änderung schon ausgewählt

    geschrieben von php-oop

    alfr3d schrieb:
    php-oop schrieb:
    Hallo !

    Ich habe ein kleines Problem, und zwar habe ich verschiedene Datensätze in der Datenbank mit unterschiedlichen Kategorien. Wenn ich jetzt einen Datensatz ändere (dafür habe ich schon ein Formular, wo die verschiedenen Kategorien in einem option-Feld sind) will ich, dass die jeweils eingetragene Kategorie-ID im option-Feld schon ausgewählt ist.

    Die Kategorien haben jeweils eine Kategorie-ID.

    Ich habe schon danach gesucht, aber nichts gefunden.
    Wie kann ich sowas denn machen?

    Um eine option im select als ausgewählt zu definieren musst du selected benutzten:
    <select>
      <option>Option 1</value>
      <option selected>Option 2</value>
    </select>

    Das würde dazu führen, dass Option 2 in diesem Fall vorausgewählt ist.
    Ich hoffe das war was du gesucht hast...?!


    Danke für die Antwort !

    Das war aber nicht genau das, was ich suche.
    Mein Problem besteht darin, das Feld schon ausgewählt zu haben, welches die richtige Kategorie anzeigt.

    Also bei jedem Datensatz ist es ein anderes, also eine andere Kategorie.

    Ich habe leider garkeine Idee, wie ich das machen kann.
  • in: Hoster gesucht

    geschrieben von php-oop

    Ich würde dir celeros.de empfehlen :)
    Bin selber dort, und hatte noch keine Probleme.
    Schau dir die Seite mal an :)
  • in: Optionfeld bei Änderung schon ausgewählt

    geschrieben von php-oop

    Hallo !

    Ich habe ein kleines Problem, und zwar habe ich verschiedene Datensätze in der Datenbank mit unterschiedlichen Kategorien. Wenn ich jetzt einen Datensatz ändere (dafür habe ich schon ein Formular, wo die verschiedenen Kategorien in einem option-Feld sind) will ich, dass die jeweils eingetragene Kategorie-ID im option-Feld schon ausgewählt ist.

    Die Kategorien haben jeweils eine Kategorie-ID.

    Ich habe schon danach gesucht, aber nichts gefunden.
    Wie kann ich sowas denn machen?
  • in: Javascript Frage

    geschrieben von php-oop

    sonok schrieb:
    Naja, ich bin mir sicher, Du hast hier schon geschaut ... darum versteh ich die Frage nicht.


    Sorry, ich hab nach sowas gesucht, aber nichts gefunden.
    Ich wusste nicht, genau nach was ich suchen sollte.
    Aber danke für den Link!
  • in: Javascript Frage

    geschrieben von php-oop

    sonok schrieb:
    Und? Wo ist die Frage?


    Meine Frage ist, ob es sowas gibt?
    Und wenn ja, wo ich sowas finde oder vielleicht hat jemand sowas.
  • in: Javascript Frage

    geschrieben von php-oop

    Hallo,

    ich benötige ein Javascript (ich glaube, das geht am besten), welches nachdem ich in eine Textarea(Formular) etwas geschrieben habe und in ein anderes Textfeld klicke, mir anzeigt, ob dieser Text ein bestimmtes Zeichen enthält (Semikolon). Am besten in einem alert() Fenster.

    Ich benötige das zum CSV erstellen, weil wenn ein Semikolon im Text drinnen ist, beginnt ein neues Feld.
  • in: Kleines CSS Problem bei Design

    geschrieben von php-oop

    inetandfun schrieb:
    Ich hoffe ich habe dein Problem verstanden :D

    Wenn du den Text nur rechts vom Bild und nicht unter dem Bild anzeigen möchtest,
    musst du einen Div-Container erstellen, ihn nach rechts setzten und seine Länge/Breite angeben.

    Also so ungefähr:
    <html>
    <head>
    </head>
    <body>
    <img src="dein bild" />
    <div id="rechtertext">rechter Text</div>
    </body></html>

    und CSS:
    #rechtertext {
       float:right;
       width: ?px;
       height: ?px;
    }


    Danke, werde ich mal so probieren!
  • in: Kleines CSS Problem bei Design

    geschrieben von php-oop

    Hallo !

    Ich habe ein kleines CSS Problem bei einem Design.

    Ein Text soll neben dem Bild im Design erscheinen. Das geht auch, allerdings nur solange der Text nicht länger als das Bild ist.

    Ich habe das Design hier mal hochgeladen: http://php-oop.lima-city.de/design/test.html

    Der zugehörige CSS-Code ist:

    body { font-family: Arial, sans-serif;}
    
      .content{margin:0px 0px 10px 20px;padding:40px 50px;border:1px solid #aaa;font-family:arial;font-size:12px;line-height:150%;}
    
      .content img{max-width:300px;margin:0px 50px 40px 0px;float:left;}
    
      .content p, .content blockquote{text-align:justify;}
    
    .titel {margin-left:10px;margin-top:5px; font-size: 20px; color: rgb(46, 46, 46); font-weight: bold;}
    
      h1{margin:0px 0px 20px;font-size:1.4em;line-height:150%;}
    
      h2{margin:0px 0px 20px;font-size:1.2em;line-height:150%;}
    
      h3{margin-top:30px;font-size:1.2em;clear:both;}
    
      h4{margin:0px;color:#ff0000;}
    
      h5{margin-top:30px;font-size:1.4em;color:#008000;}
    
      h6{margin:0px 0px 20px;font-size:1.4em;color:#ff0000;}


    Ich hoffe, ihr versteht mein Problem.
    Könnt Ihr mir helfen, wie ich den Text, auch bei viel Text, neben dem Bild anzeigen lasse?
  • in: Problem mit CSS

    geschrieben von php-oop

    sonok schrieb:
    <div style="clear:both;">
    <div style="float:left; background-color:#330099; height:200px; width:200px;"></div>
    <div style="float:left; background-color:#339999; height:200px; width:200px;"></div>
    <div style="float:left; background-color:#3300FF; height:200px; width:200px;"></div>
    </div>
    <div style="clear:both;">
    <div style="float:left; background-color:#330099; height:200px; width:200px;"></div>
    <div style="float:left; background-color:#339999; height:200px; width:200px;"></div>
    <div style="float:left; background-color:#3300FF; height:200px; width:200px;"></div>
    </div>


    also das geht, glaub ich.


    Danke, das funktioniert.
  • in: Problem mit CSS

    geschrieben von php-oop

    sonok schrieb:
    Entweder Du machst es mit divs und float oder mit Tabellen.


    Hallo !

    Ich würde es gerne mit divs machen.

    Oben habe ich meinen Code gepostet, wie ich es versucht habe.
    Es funktioniert aber noch nicht richtig.
  • in: Problem mit CSS

    geschrieben von php-oop

    Ich habe ein kleines Problem mit einer Box für Rezepte.

    Zurzeit sieht es so aus: http://php-oop.lima-city.de/1.png
    Es soll aber so aussehen (ohne den Inhalt): http://php-oop.lima-city.de/2.png

    Ich habe den Code:

    <div style="rezept_container">
    			<div class="rezeptbild">
    				<a href="rezepte.php?rezept=' . $rezept ['id'] . '">
    				<img class="rezeptbild" src="' . $rezept ['bild'] . '" alt="' . $rezept ['rezeptname'] . '" /></a>
    			</div>
    			<div class="rezeptlink">
    				<a class="rezepttitel" href="rezepte.php?rezept=' . $rezept ['id'] . '">' . $rezept ['rezeptname'] . '</a>
    			</div>
    		</div>
    			<hr class="linie" />


    und den CSS Code:

    hr.linie {border-style: dotted; border-color: black;}
    
    .rezept_container {width:100%;}
    .rezeptbild {max-width:100px;}
    .rezeptlink {width:600px; float: right;}
    .rezepttitel {color: #f4a100; font-size: 14px; font-weight: bold;}
    
    .linie {
    height: 1px;
    margin-bottom: 10px;
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 10px;
    width: 100%;
    border-style: dotted;
     }


    Ich will 3 Spalten, eine für das Bild, eine für den Titel, eine für Bewertung o.ä.

    Könnt Ihr mir helfen, sodass es ungefähr wie hier aussieht: http://php-oop.lima-city.de/2.png ??
  • in: Textarea wird nicht richtig in CSV geschrieben

    geschrieben von php-oop

    Danke für die Antworten!
    Nun klappt alles.
  • in: Textarea wird nicht richtig in CSV geschrieben

    geschrieben von php-oop

    Danke für die Antworten!

    Ich habe noch ein Problem.
    Wenn ich im Formular Umlaute eingebe, werden diese nicht richtig angezeigt.
    Wie kann ich die Umlaute auch in die CSV schreiben?

    @soboo: Danke! Das klappt wunderbar!
  • in: Textarea wird nicht richtig in CSV geschrieben

    geschrieben von php-oop

    Hallo!

    Ich speichere Eingaben aus einem Formular in eine CSV Datei. Dazu erstellt das Formular zuerst einen HTML Code aus den Eingaben in eine Textarea und schreibt diesen dann in die CSV Datei.

    Das klappt auch, nur wird der Inhalt der Textarea falsch in die CSV eingefügt (nicht in das dafür vorgesehene Feld).

    Zum Speichern benutze ich folgenden Code:

    $dz=fopen("daten.csv","a");
            if(!$dz)
              {
    		echo "<div class='warning'>Datei konnte nicht zum Schreiben geöffnet werden.</div>";
    		exit;
              }
    
    $felder = 'Add;Germany;Auction;' . $_POST[bezeichnung] . ';' . $_POST[condition] . ';;;' . $_POST[kategorie] . ';;1;;EUR;1;;' . $_POST[dauer] . ';0;DE;;;;;' . $_POST[code] . ';RetroStyle;' . $_POST[bildurl] . ';0;0;Gallery;;0;0;0;0;61440;;0;;email;;;;;;;;;;1;;;0;;Flat;;' . $_POST[versandcsv] . ';' . $_POST[versandkosten] . ';;;;;;;0;1;;;;;;;;;;';
        fputs($dz,"$felder\n");
    
            echo "<div class='note'>Die Eingaben wurden in der CSV-Datei gespeichert.</div>";
        fclose($dz);


    Der Inhalt der Textarea wird in ' . $_POST[code] . ' gespeichert.

    Zum Testen, wie es aussieht, hab ich hier mal so eine CSV eingefügt: http://davidlohmann.de/daten.csv

    Wie schaffe ich es, dass der Inhalt der Textarea in nur einem Feld eingefügt wird (sieht man auch, wenn man die CSV mit Excel öffnet). Alle anderen Eingaben aus dem Formular (Input-Felder) werden problemlos rein geschrieben.

    Könnt Ihr mir helfen?
  • in: Mit PHP in CSV schreiben

    geschrieben von php-oop

    hackyourlife schrieb:
    Du weißt wie CSV aufgebaut ist: wert;"wert mit ;";bla
    In die Datei schreibst du so:
    // $file = zum schreiben geöffnete Datei
    // $value1 = Spalte 1
    // $value2 = Spalte 2
    fputs($file, "\"$value1\";\"$value2\"");
    Um die Datei zu leeren:
    $file = fopen('datei.txt', 'rt');
    $header = fgets($file);
    fclose($file);
    $file = fopen('datei.txt', 'wt');
    fputs($file, $header);
    fclose($file);

    Ein Codebeispiel (Formular) von dir wäre natürlich von Vorteil...


    Ich poste hier mal mein Formular:

    <html>
    <head>
    <title>Formular</title>
    <link href="style.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    
    <table width="850px">
    <tr>
    <td>
    
    <form method="post" action="index.php">
    
    <table border="0">
    	<tr>
    		<td width="29%">Buchautor:</td>
    		<td width="71%"><input type="text" name="autor" size="72" style="width: 600px;" /></td>
    	</tr>
    	<tr>
    		<td width="29%">Buchtitel:</td>
    		<td width="71%"><input type="text" name="titel" size="72" style="width: 600px;" /></td>
    	</tr>
    	<tr>
    		<td width="29%" valign="top">Buchbeschreibung:</td>
    		<td width="71%"><textarea rows="17" name="beschreibung" cols="62" style="width: 600px;"></textarea></td>
    	</tr>
    	<tr>
    		<td width="29%">Bildurl:</td>
    		<td width="71%"><input type="text" name="bildurl" size="72" style="width: 600px;" /></td>
    	</tr>
    	<tr>
    		<td width="29%">Zustand:</td>
    		<td width="71%"><input type="text" name="zustand" size="72" style="width: 600px;" /></td>
    	</tr>
    	<tr>
    		<td width="29%">Versandkosten:</td>
    		<td width="71%">
    			<input type="radio" name="versandkosten" value="1,00" />1,00 &euro;
    			<input type="radio" name="versandkosten" value="1,20" />1,20 &euro;
    			<input type="radio" name="versandkosten" value="2,00" />2,00 &euro;
    			<input type="radio" name="versandkosten" value="4,00" />4,00 &euro;
    			<input type="radio" name="versandkosten" value="4,20" />4,20 &euro;
    			<input type="radio" name="versandkosten" value="4,50" />4,50 &euro;
    			<input type="radio" name="versandkosten" value="6,50" />6,50 &euro;
    		</td>
    	</tr>
    	<tr>
    		<td width="29%">Versandart:</td>
    		<td width="71%">
    			<input type="radio" name="versandart" value="B&uuml;chersendung" />B&uuml;chersendung
    			<input type="radio" name="versandart" value="Brief" />Brief
    			<input type="radio" name="versandart" value="DHL P&auml;ckchen" />DHL P&auml;ckchen
    			<input type="radio" name="versandart" value="Hermes P&auml;ckchen" />Hermes P&auml;ckchen
    		</td>
    	</tr>
    	<tr>
    		<td><b>Optionale Angaben:</b></td>
    	</tr>
    	<tr>
    		<td width="29%">ISBN:</td>
    		<td width="71%"><input type="text" name="isbn" size="72" style="width: 600px;" /></td>
    	</tr>
    	<tr>
    		<td width="29%">Verlag:</td>
    		<td width="71%"><input type="text" name="verlag" size="72" style="width: 600px;" /></td>
    	</tr>
    	<tr>
    		<td width="29%">Erscheinungsjahr:</td>
    		<td width="71%"><input type="text" name="erscheinungsjahr" size="72" style="width: 600px;" /></td>
    	</tr>
    	<tr>
    		<td width="29%">Sprache:</td>
    		<td width="71%"><input type="text" name="sprache" size="72" style="width: 600px;" /></td>
    	</tr>
    </table>
    
    <br />
    <input type="submit" name="submit" value="Absenden" />
    
    </form>
    
    
    </td>
    </tr>
    </table>
    
    <?php
    
    $autor = $_POST['autor'];
    $titel = $_POST['titel'];
    $bildurl = $_POST['bildurl'];
    $beschreibung = $_POST['beschreibung'];
    
    $isbn = $_POST['isbn'];
    $verlag = $_POST['verlag'];
    $erscheinungsjahr = $_POST['erscheinungsjahr'];
    $sprache = $_POST['sprache'];
    
    $zustand = $_POST['zustand'];
    $versandkosten = $_POST['versandkosten'];
    $versandart = $_POST['versandart'];
    
    
    ?>
    
    
    </body>
    </html>


    Das Problem ist, dass in der CSV Datei die erste Zeile schon ausgefüllt werden soll beim Erstellen, und auch immer wieder geleert werden kann (bis auf die 1. Zeile)
    Wie kann ich das realisieren?

    EDIT: Also, ich bräuchte eine Lösung, wie ich in die CSV Datei beim Erstellen schon den Inhalt der 1 Reihe schreiben kann.
  • in: Mit PHP in CSV schreiben

    geschrieben von php-oop

    Hallo,

    ich möchte mit einem PHP Script eingegebene Daten aus einem Formular in eine CSV Datei schreiben.

    Im Script soll es eine Funktion geben, mit der ich die CSV leeren kann, außer die oberste Zeile (da stehen die Überschriften).

    Wie mache ich das am besten?

    Ich habe schon viel im Internet gesucht, aber ich weiß noch nicht, wie ich das genau realisieren soll. Ich finde nur Scripte, mit denen ich in eine bestehende CSS schreiben kann.
  • in: MySQL Query falsch

    geschrieben von php-oop

    Danke für die Erklärung!;)
  • in: MySQL Query falsch

    geschrieben von php-oop

    excision schrieb:

    $kommentar_query = "INSERT INTO rezept_kommentare SET autor = '" . htmlentities($autor) . "', kommentar = '" . htmlentities($text) . "', datum = '" . $date . "', rezeptname = '" . $rezept['rezeptname']. "', kategorie_id = '" . $rezept['kategorie_id']. "', rezept_id = '" . $rezept['Id']. "';
    	$res = $abstract->query ( $kommentar_query );



    Vielen Dank !
    Es funktioniert!
  • in: MySQL Query falsch

    geschrieben von php-oop

    Hallo !

    Ich programmiere gerade ein Kommentarsystem, und benutze folgenden Query zum Speichern der Daten:

    $kommentar_query = 'INSERT INTO rezept_kommentare SET autor = ' . htmlentities($autor) . ', kommentar = ' . htmlentities($text) . ', datum = ' . $date . ', rezeptname = ' . $rezept['rezeptname'], kategorie_id = ' . $rezept['kategorie_id'], rezept_id = ' . $rezept['Id'];
    	$res = $abstract->query ( $kommentar_query );


    Ich benutze eine Datenbankklasse.

    Könnt Ihr mir sagen, was in der ersten Zeile vom Query falsch ist?

    Fehlermeldung:
    Parse error: syntax error, unexpected ',' in /home/www/web48/html/new/templates/yaml-template/rezept_ansicht.php on line 118
  • in: Array erstellen PHP

    geschrieben von php-oop

    Zum Ausgeben habe ich jetzt folgendes Script:

    $i = 0;
    	while($i < count($zutaten_array))
    	{
    		echo $zutaten_array[menge][$i].' '.$zutaten_array[zutat][$i]."<br>";
    		$i++;
    	}


    Das klappt auch, es werden jedoch nur 2 Werte ausgegeben. Auch wenn ich
    echo count($zutaten_array);
    mache, gibt er mir 2 aus. Es sind aber 4 Werte in meinem Array. Anbei das Array, welches ich mit print_r ausgegeben habe:
    Array ( [menge] => Array ( [0] => 300g [1] => 200g [2] => 1 [3] => 2 Liter [4] => ) [zutat] => Array ( [0] => Mehl [1] => Zucker [2] => Ei [3] => Milch [4] => ) )


    Warum werden mir bei der While Schleife nur die ersten beiden Werte ausgegeben?
  • in: Array erstellen PHP

    geschrieben von php-oop

    drafed-map schrieb:
    Wenn du ein Array per Post versendest, dann ist auch $_POST['ZutatenMenge'] ein Array und eben kein String mehr. Nutze diesen Code, um das Array zu durchlaufen:
    foreach($_POST['ZutatenMenge'] as $var)
    {
        // mach was
        // $var ist das aktuelle Element
    }


    foreach($_POST['ZutatenMenge'] as $var)
    {
    $zutat .= ' . $var['menge'] . ' . ' . $var['zutat'] . ' . "\n";
    }


    So ungefähr??

    Ich will das Array mit der Funktion serialize() in meine DB speichern und dann mit unserialize() an der entsprechenden Stelle wieder ausgeben.
  • in: Array erstellen PHP

    geschrieben von php-oop

    schrotti12 schrieb:
    Mach mit JavaScript bei den Namen der Eingabefelder eine fortlaufende Nummer rein.

    Also "ZutatenMenge_n" statt "ZutatenMenge[]" und "ZutatenName_n" statt "ZutatenName[]". Statt n nimmst du natürlich die von JS generierte Nummer. Die kannst du dann mit dem php-Script erzeugen und somit alle Zutatenfelder abfragen.

    for($i = 0; $i<$formSize;$i++){
        $_POST["Zutatenmenge_".$i];
        $_POST["ZutatenName_".$i];
    }


    Keine Ahnung obs mir for so geht... Sonst eben eine While-Schleife...

    irgendwie so...


    Ich habe gelesen, sowas was ich will, geht mit einer foreach-Schleife. Damit kann ich dann auch "ZutatenMenge[]" und "ZutatenName[]" nennen, oder? Wie kann ich da ein Array erstellen?
  • in: Array erstellen PHP

    geschrieben von php-oop

    Hallo !

    Ich habe folgendes Formular erstellt:

    ...
    <tr>
    <td><input type="text" name="ZutatenMenge[]" size="30" style="width: 50px;"></td>
    <td><input type="text" name="ZutatenName[]" size="30" style="width: 540px;"></td>
    </tr>
    ...


    Mit einem Javascript kann man genau diesen Ausschnitt mehrmals einfügen. Jetzt will ich aus den Eingaben vom Benutzer ein Array erstellen, sodass es ausgegeben werden kann. Wie mache ich das?
  • in: Rezept eintragen Formular PHP MySQL

    geschrieben von php-oop

    kigollogik schrieb:
    Ganz normales Formular erstellen und bei klick auf den "Eintragen" BUtton die Daten mit PHP und MySQL in die Datenbank schreiben.

    hier 2 Links, die dir die Lösuing bieten sollten:


    http://www.php-space.info/php-tutorials/61-formular,angaben,in,einer,mysql,datenbank,speichern.html
    http://webkompetenz.wikidot.com/html-handbuch:formulare-in-db-speichern-php-mysql


    Danke für deine Antwort!
    Die Links helfen mir aber nicht, da ich ja immer verschieden viele Werte in die Datenbank speichern will. Man soll ja im Formular einen Button haben um neue Reihen einzufügen, und dann sollen die Inhalte in die DB gespeichert werden.

Login zum Webhosting ohne Werbung!