Beiträge von naggison

    hoffentlich kann ich nun was posten... o0
    ALSO: Ja, ich gebe die Variablen an JS weiter und JS dann per FlashVars an Actionscript... aber daran liegt es nicht. Testweise habe ich das ganze auch direkt mit einem echo ueber PHP ausgegeben. :D

    Und ich weiger mich gerade einfach den fuer meinen fall "unsinnigen" vorschlag von 100 abfragen und explode klamotten fuer das tool zu schreiben. Ich programmiere ja nicht erst seit gestern und das ist fuer mich einfach nicht das was ich moechte... :-/ .. und unsinnig jetzt bitte nicht falsch verstehen.

    Dann kommt, wie vermutet, die Anfrage nicht mehr korrekt bei der DB an. Damit ist es zumindest schonmal eingegrenzt.
    Schreib doch mal in deiner PHP-Datei folgendes:

    PHP
    // Das hier:
    $sql = "SELECT * FROM enn_usr WHERE firstname='".$firstname."' AND surname='".$surname."'";
    // ändern in:
    $sql = "SELECT * FROM enn_usr WHERE firstname='Marian' AND surname='merek'";


    Funktioniert es dann? Ansonsten kannst du auch nochmal versuchen die Zeichensatz-Formatierung deiner php-Dateien zu ändern.



    $sql = "SELECT * FROM enn_usr WHERE firstname='Marian' AND surname='merek'";
    while ($row = mysql_fetch_array($sql)) {

    $usr['firstname'] = $row['firstname'];
    $usr['surname'] = $row['surname'];

    }

    -> Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pages/65/0b/d0005363/home/htdocs/xxx/xxx/xxx/xxx/login.php on line 77

    77 = while ($row = mysql_fetch_array($sql)) {


    Sorry, ich bin nicht mehr ganz fit, war heute nen bissl viel arbeit! :-/


    @ naggison: Wenn du beide Felder auf utf8_general_ci stehen hast und es trotzdem nicht klappt kann der Fehler nicht bei der DB liegen, dann kommt der Query nicht korrekt an. utf8_general_ci ist definitiv case-insensitive, dabei spielt es auch keine Rolle ob Datenbank und Datenbankverbindung über utf8_bin läuft.
    Änder mal folgendes in deinem Script und schau mal was dann kommt:

    PHP
    $result = mysql_query("SELECT * FROM enn_usr WHERE firstname='".$firstname."' AND surname='".$surname."'");
    
    
    // änder in:
    $sql = "SELECT * FROM enn_usr WHERE firstname='".$firstname."' AND surname='".$surname."'";
    echo $sql;
    mysql_query($sql) or die("<br/>".mysql_error());

    Probiert hast du es mit Max Mustermann? Oder evtl. nur mit anderen Namen in denen Umlaute o.ä. vorkommen? Dann könnte es auch noch am Format der php-Datei liegen.


    Die Ausgabe ist: SELECT * FROM enn_usr WHERE firstname='Marian' AND surname='merek'
    Eingegeben hatte ich in die Adressleiste: .de/Marian.merek
    in der DB steht er als Marian Merek

    In der Regulaeren Ausgabe wurde dieser eintrag in der DB nicht gefunden weil ich "merek" klein geschrieben habe und er in der DB groß steht.

    Gaaaanz komischer Fehler ist das einfach.
    Ich weiss nicht weiter außer mir echt so ein komisches PHP gefrickel zu schreiben... :-/

    Also, Fehler gibt es soweit keine. Es schreibt sich alles wunderbar in die Datenbank rein etc.
    Beide Felder sind auf utf8_general_ci gestellt und es geht trotzdem nicht.
    Zu der Loesung mit: Im string suchen nach "-" oder " " und dann explode und dann ucfirst() und dann wieder implode... das klappt nicht. Weil:

    1. Ich gebe Vor und Nachname in 2 Felder ein (egal wie es eingegeben wurde, so soll auch die ausgabe lauten - Wenn sich jemand vertippt und mit "Hallo mustermann" anstatt anstatt "Hallo Mustermann" angesprochen wird ist es eigene Schuld - Wobei man sich dann ueberlegen kann ob man das mit der Umwandlung in Großbuchstaben versucht.)

    2. Ich gebe oben ein: http://www.domain.de/Max.Mustermann
    Wenn "Max" & "Mustermann" so eingetragen wurden findet man ihn nicht wenn man schreibt: http://www.domain.de/max.mustermann <- Das soll aber auch gehen.

    Felder:
    // Max
    // Mustermann
    Zu DB -> firstname= Max - surname = Mustermann

    Adresse (Soll beides den Namen ausgeben - tut es aber nicht // Die Domain trage ich entweder von Hand oben ein oder generiere Sie nach dem eintragen.):
    http://www.domain.de/Max.Mustermann (= Kappt!! )
    Ausgabe: Sehr geehrter Herr Mustermann

    http://www.domain.de/max.mustermann (= Klappt NICHT! )
    Ausgabe:

    Dieses Problem besteht auch wenn ich die Daten von Hand in die Datenbank eintrage.
    Trage ich direkt in die DB vor und nachname ein passiert nach dem domainaufruf genau das selbe.

    Gruß und Danke

    Warum utf8_bin???



    Ein Warum kann ich nicht beantworten. Weil ich es so eingestellt hatte. Was soll ich nehmen?

    Edith: Also ich habe gerade noch andere Charsets versucht. Es geht damit auch nicht. Also das macht wirklich keinen unterschied.
    das ganze erst wieder in klein dann in groß und dann mit 10 if abfragen &/oder switch case zu machen finde ich unsinnig.

    Ich raff es nur nicht weil es ja sonst immer geklappt hat bei Abfragen!

    Lege einfach alles kleingeschriieben in der Datenbank ab.
    Alle Vergleiche erfolgen mit der kleingeschriebenen Variante.
    Vor der Ausgabe machst du die ersten Buchstaben einfach groß.



    Und wie ist das mit dem Namen: Marc-Andre ?

    Ich gebe ein in das Formular: Marc-Andre
    gebe das klein in die DB und bevor ich das wieder ausgebe mache ich den ersten Buchstaben groß... -> Marc-andre

    Das wird nicht klappen. Dieses Problem ist echt komisch..

    Hallo,

    also ich wuerde fuer alles mehrere Dateien machen.
    Gut sortiert. Ich mache es meistens so, dass ich einen /app/ folder habe und da meine ganzen Dateien rein tu. (chdir.php; data.php; find.php etc.)
    Dann uebergebe ich teilweise noch Parameter = index.php?xyz=$usr['name']&zxy=$blubb

    Mann kann die sachen dann nachher noch in einem anderen Verzeichnis so laden, dass in der adressleiste nur noch steht: http://www.domain.de/chdir ...
    Zu diesem System empfehle ich dann beispielsweise das Framework Codigniter.

    Gruß

    Hallo zusammen,

    ich habe da ein kleines Problem.
    Ich gebe ueber ein Formular via $_POST meine Daten an die datenbank.

    PHP
    // INSERT INTO					
    mysql_query("INSERT INTO enn_usr (honorific, firstname, surname, known)
    VALUES('$_POST[honorific]','$_POST[firstname]','$_POST[surname]','0')");

    Die naechste seite wird mit folgender URL aufgerufen:
    http://www.domain.de/Vorname.Nachname <- Das ist eigentlich https://www.forum-hilfe.de/www.domain.de/…urname=Nachname (mod_rewrite)

    in der Datei werden dann als erstes die Parameter uebergeben:

    Das problem ist hierbei: $firstname = $_REQUEST['firstname']; & $surname = $_REQUEST['surname']; gibt mir aus Vorname & Nachname. Wenn jemand seine Eintragung in das Formular aber mit kleinbuchstaben gemacht hat werden die Daten komischerweise in der Datenbank nicht empfangen.

    PHP
    $firstname = strtolower($firstname);
    	$surname = strtolower($surname);
    
    	$firstname = ucfirst($firstname);
    	$surname = ucfirst($surname);

    Das war meine loesung bislang. Das geht aber auch nicht wenn dann wer ankommt und NUR in Gr.Buchstaben geschrieben hat oder heißt: Marc-Andre

    Dann saehe das so aus: Marc-Andre -> marc-andre -> Marc-andre RESULTAT: es wird in der DB nicht gefunden weil in der DB steht: marc-andre

    Wo ist da bitte das problem? Das hatte ich noch nie!

    Was moechte ich genau?

    Ich moechte gerne in mein Formular schreiben koennen:
    Vorname: Hansi
    Nachname: schröder

    die URL soll heißen koennen: http://www.domain.de/Hansi.Schröder ABER AUCH http://www.domain.de/hansi.schröder ABER AUCH http://www.domain.de/haNsi.schröDer

    die Ausgabe wäre dann nach abruf: Hallo Hansi schröder


    Vielen Dank und Gruß

    naggison