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
gefunden$.trim(str)
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