kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Das & Zeichen in Text bei JavaScript POST data

    geschrieben von mywebchat

    ok, das funktioniert schonmal, danke !

    Jetzt habe ich noch ein weiteres Problem ...
    ... und zwar Prüfung ob der Eingabe-Text (string) nicht "leer" ist
    wobei auch bei Eingabe von nur Leerzeichen oder nur Zeilenumbruch (Enter)
    auch als "leer" gelten soll.

    bisher habe ich es nur so:

    if(string == '') {
    	alert('Bitte einen Text eingeben');
    }
    else {
    	string = encodeURIComponent(string); 
    	// --- hier der Ajax Post Request ----
    }


    aber wenn User-Eingabe nur Leerzeichen oder nur Enter-Taste (neue Zeile) ist,
    dann kommt bisher auch nicht der alert() sondern es wird gesendet.

    ich bräuchte da wohl sowas wie von PHP trim() um Leerzeichen und Zeilenumbruch
    am Anfang (und am Ende) des String zu entfernen

    Alternativ ginge evtl. auch nur Senden wenn String mindestens n=3 Zeichen hat
    aber auch da wäre es blöd, wenn User 3x Leerzeichen eingibt und senden will.

    EDIT ... ok .. habe jQuery
    $.trim(str)
    gefunden
    string = $.trim(string); 
    if (string.length < 3) { 
    	alert('Bitte einen Text mit mind. 3 Zeichen eingeben');
    }
    else {
    	string = encodeURIComponent(string); 
    	// --- hier der Ajax Post Request ----
    }


    das klaptt soweit .... denke ich :)
  • in: Das & Zeichen in Text bei JavaScript POST data

    geschrieben von mywebchat

    Hallo

    folgendes Problem:

    ich sende per jQuery ein POST an eine .php Datei um einen Text zu speichern

    function SaveText(string,page) { 
    	
    	var mlsec = new Date().getTime();
    	var dataString = 'text='+ string+"&seite=" + page + "&mlsec=" + mlsec;
    
    		$.ajax({
    			type: "POST",
    			url: "post_text.php",
    			data: dataString,
    			cache: false,
    			success: function(inhalt){
    				$("#eingabe").val('');
    				$("#content").html(inhalt);
    				}
    		});
    
    }


    das funktioniert soweit auch

    Aber wenn ich im Text (Variable: string) ein
    &
    Zeichen habe
    dann kommt in der .php Datei nur der Text bis zu diesem & Zeichen an,
    und der Rest vom Text fehlt ....

    wohl deshalb, weil im dataString dadurch eine neue POST Variable erstellt wird
    aber soll ja nicht ..... wie kann ich das verhindern, bzw. wie & als String übergeben
    so dass der Text nicht ab dem & Zeichen abgeschnitten wird ... escapen? wie?


  • in: Dateiaufruf mit .htaccess sperren

    geschrieben von mywebchat

    Hallo

    einfach in die Datei: button.php oben mit rein bauen:

    if (!isset($_SERVER['HTTP_REFERER']) || empty($_SERVER['HTTP_REFERER'])) { 
      print "<p>nix da !!!</p>\n"; 
      exit; 
    }


    dann kommt ohne Referer nur das <p>nix da !!!</p>
    und auch dass kannst du noch weg lassen,
    oder stattdessen eine Weiterleitung ...

  • in: SELECT auf Spalte alle Zeilen mit gl. 2. Spalte ausgeben

    geschrieben von mywebchat

    Idee:

    speicher doch gleich zu jeder Chat-ID die Liste der User-IDs
    (array umwandeln zu JSON-String oder Komma-Getrennt, ...)

    so dass jede int_chatid nur 1x vorkommt und in der 2ten Spalte dann die "Liste" ..

    also gleich so, wie Du es haben willst

    int_chatid | list_userids
             1 | {5,6}
             2 | {5,7}
             3 | {6,7}


    also zu jeder chatid gleich in MySQL die ganze Liste speichern, nicht einzeln
    und beim Auslesen dann mit json_decode wieder zurück in array / object ...
  • in: SELECT auf Spalte alle Zeilen mit gl. 2. Spalte ausgeben

    geschrieben von mywebchat

    wenn das alle in einer Tabelle steht,
    dann ist das mit dem OR (nicht AND, hast recht) schon das "richtige"

    ...
    
    $where = '';
     
       while($row=mysql_fetch_assoc($result1)) {
           $where .= "int_chatid=$row['int_chatid'] OR ";
       }
     
    // --- das letzte OR entfernen
    $where = substr($where, 0, strrpos($where, 'OR'));
    
    $query2 = "SELECT * FROM tabelle WHERE $where";
    
    ...


    das JOIN macht nur Sinn, wenn Daten in zwei verschiedenen Tabellen sind.


  • in: mail() geht nicht

    geschrieben von mywebchat

    die oben genannten Fehler

    ... und .... du solltest auch einen Email HEADER mit senden !!!
    in dem zumindest der Absender (From) angegeben ist.

    $nachricht  = "Vielen Dank für deine Registrierung";
    $betreff    = "Information";
    $empfaenger = $email;
    
    $absender = 'deinname@example.com'; 
    $header = "From: ".$absender."\r\n"; 
    
    $ergebnis = mail($empfaenger, $betreff, $nachricht, $header);
    
    if($ergebnis) { 
    	echo "<p>Wir haben Ihnen eine E-Mail mit Ihren Zugangsdaten geschickt.</p>\n";
    }
    else {
    	echo "<p>Ein Problem mit dem sender der E-Mail ist aufgetreten.</p>\n";
    }


    Die Absender Email-Adresse ($absender) anpassen zu Deiner

    Tipp: vor dem mail absenden die User-Email auf gültige eMail Syntax prüfen

    Tipp: dem Admin auch eine "blind copy" von der Email senden ... mit header

    $header = 'From: '.$absender."\r\n"; 
    $header .= 'Bcc: '.$absender."\r\n";


    sollte gehen, vorausgesetzt dass gültige E-Mail Adressen verwendet werden.

    EDIT:
    beachte auch, dass es bei lima-city ein Email Koningent gibt
    ... siehe http://www.lima-city.de/usercp/phpmails
    Standard Mail-Kontingent pro Tag: 50


  • in: Ich habe ein problem mit mein Script.

    geschrieben von mywebchat

    dann ist es klar ... es gibt in der Tabelle "tweets" keine Spalte: "tid"

    ist es vielleicht nur "id" oder mit großem i ..."tId" oder ... "tID" ... ???

    EDIT: ... oder lass die Sortierung mit ORDER BY einfach weg
    $sql = "select * from tweets";



    Es gibt mehrere Möglichkeiten herauszufinden
    welche "genaue" Bezeichnung Deine Spalten haben

    (a)
    Du kannst Dir die Tabellen-Struktur ausgeben lassen

    $qx = "SHOW CREATE TABLE tweets"; 
    
    $rx = mysql_query($qx) or die(mysql_error()); 
    
    $tbl_struct = mysql_result($rx, 0, 1);
    
    print "<pre>\n"; 
    print_r($tbl_struct); 
    print "</pre>\n";


    (b)
    oder mit mysql_fetch_assoc() bekommst Du auch
    die genauen "Namen" der Spalten als Array-Key

    $sql = "SELECT * FROM tweets LIMIT 1";
    $res = mysql_query($sql); 
    
    $data = mysql_fetch_assoc($res); 
    
    print "<pre>\n"; 
    print_r($data); 
    print "</pre>\n";


    (c)
    oder bei phpMyAdmin nachsehen, wie "genau" die Namen der Spalten sind
    ... dabei auch auf Groß-/Klein-Schreibung achten !!!

  • in: Ich habe ein problem mit mein Script.

    geschrieben von mywebchat

    spiel123 schrieb:
    Parse error: syntax error, unexpected '.' in C:\xampp\htdocs\1\1\index.php on line 4


    das ist aber keine mysql_error() Fehlermeldung ?!
    ... keine Anhnung wie und warum du jetzt in index.php auf einmal einen "." in Zeile 4 rein hast ?

    Deine DB Verbindung scheint OK,
    sonst wäre auch dort schon Fehlermeldung gekommen

    Was ist denn jetzt die Meldung bei ... Abfrage Fehler ?

    geht auch so:
    if (!$result) { die(mysql_error()); }



  • in: SELECT auf Spalte alle Zeilen mit gl. 2. Spalte ausgeben

    geschrieben von mywebchat

    Hallo

    ich glaube es ist einfacher, die Abfrage inklusive der Zeile mit der User-ID zu machen
    und erst danach diese "eigentliche Zeile" wieder raus zu filtern.

    $uid = 5; 
    $query1 = "SELECT int_chatid FROM tabelle WHERE int_userid=$uid"; 
    $result1 = mysql_query($query1); 
    
    $where = ''; 
    
       while($row=mysql_fetch_assoc($result1)) {
           $where .= "int_chatid=$row['int_chatid'] AND "; 
       }
    
    // --- das letzte AND entfernen 
    $where = substr($where, 0, strrpos($where, 'AND')); 
    
    /// bei $uid=5 dann so: $where = "int_chatid=1 AND int_chatid=2"; 
    
    $query2 = "SELECT * FROM tabelle WHERE $where"; 
    
    $result2 = mysql_query($query2); 
    
    $data = array(); 
    
       while($row=mysql_fetch_assoc($result)) {
           if ( $uid != $row['int_userid'] ) { 
                  $data[] = $row; 
           }
       }
    
    print "<pre>\n"; 
    print_r($data); 
    print "</pre>\n";



    ... siehe zweite while() Schleife ... die if-Bedingung

  • in: Ich habe ein problem mit mein Script.

    geschrieben von mywebchat

    Hallo

    a) bist Du sicher, dass die Verbindung zur Datenbank aufgebaut wurde?
    ... wie ist der Quellcode der Datei db.php .... Wenn Du das hier schreibst
    dann bitte Dein Passwort zu ******* machen, damit Dein Zugang geheim bleibt,

    b) wenn DB-Verbindung OK ist, kann es Fehler in der Abfrage sein
    damit Du sehen kannst, ob in der Abfrage ($sql) ein Fehler ist,
    mach mal Ausgabe für mysql_error() mit rein ... als neue Zeile vor dem while (...)

    ...
    $sql="select * from tweets order by tid DESC";
    $result=mysql_query($sql);
    
    if (!$result) { print "<br /> Abfrage Fehler <br />\n" . mysql_error(); exit; } 
    
    while($row=mysql_fetch_row($result))
    {
    ...


    ... sicher das die Tabelle den Name "tweets" hat und auch in der DB existiert ?
    (hast Du vorher in der db.php auch die richtige Datenbank ausgewählt)

    ... sícher, dass es in der Tabelle die Spalte "tid" gibt,
    (auch die Groß-/klein-Schreibung beachten)

    Wenn mit der Zusatz-Zeile oben eine mysql_error() Meldung kommt,
    und du damit nicht weiter kommst, dann schreibe uns diese hier auch

Login zum Webhosting ohne Werbung!