Anzeige:
Ergebnis 1 bis 11 von 11

Thema: Apache2 und PHP

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.06.2003
    Ort
    Delitzsch
    Beiträge
    28

    Question Apache2 und PHP

    Hallo,,

    zB diese Abfrage funktioniert super auf öffentliche Webspace (levanzo)
    -----------------------------------------------------------------------------
    {$query = "select * from buch where Titel like '$anfrage%'";}
    ----------------------------------------------------------------------------------
    Ich habe einen parallelen Webserver bei mir zu Hause (nur um meine Seite zu testen) mit idendischer Struktur (mysql,php)
    .Jetzt mußte ich oder wollte ich auf apache2 umbauen ,funktioniert soweit ich habe Datenbankzugriff usw.
    Aber obige Abfrage zB.funzt nicht da kommt als Ergebnis die komplette Tabelle
    Im IE sehe ich auch kenerlei Umlaute wenn ich im lokalen Netz auf die Seite zugreife
    Hat der Apache 2 da ein Problem oder liegt das an der php einstellung

    Weiß jemand Rat ?

  2. #2
    Registrierter Benutzer
    Registriert seit
    07.06.2003
    Ort
    Delitzsch
    Beiträge
    28
    So ich habe noch mal ein bischen getestet (ohne großen Erfolg)
    Das obige Script (abfrage) läuft auf einem Öffentlichen( Levanzo) webserver (Apache1.3) Php 4.30.bei mir zu Hause auf dem Testserver ,Suse 9 apache2,php4.33
    geht es nicht.

    {$query = "select * from dvd where Titel like '$abfrage%'";}

    trage ich aber an statt der variablen "$abfrage%" einen direkten Buchtitel ein wird dieser auch perfekt gefunden

    {$query = "select * from dvd where Titel like ' Beispieltitel'";}

    Wenn ich also in das Abfrageformular etwas eintrage wird das irgendwie nicht übertragen (die Variable) und die Abfrage wird so durchgeführt als ob ich die Textbox leer gelassen hätte.???
    Ich denke mal hier ist irgendwas noch falsch an den globalen Einstellungen von php aber was ..bitte versucht mir mal zu helfen eh ich hier den Herzkasper bekomme

    So bis dann

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.07.2001
    Beiträge
    144
    > $query = "select * from dvd where Titel like '$abfrage%'";

    probier mal:
    PHP-Code:
    $query "SELECT * FROM `dvd` WHERE `Titel` LIKE '" $_POST["abfrage"]  . "%'"
    Tip, bei einem Fehler immer:
    PHP-Code:
    echo "$query<br>"
    ausgeben. Falls es dann immer noch Probleme gibt, das Ergebnis in den PHPMyAdmin als SQL eingeben.

    Offe
    Geändert von offe (10-12-2003 um 17:55 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    07.06.2003
    Ort
    Delitzsch
    Beiträge
    28
    Habe mal deine Version ausgetestet , geht auch nicht ,er zeigt mir immer die ganze Tabelle an ,was ja aber nur erwünscht ist wenn man nichts in die Suchbox einträgt und eine Fehlermeldung gibt es nicht ??
    Die Frage ist ja warum funktioniert das script auf einem öffentlichen webserver aber nicht auf meinem ?
    Geändert von fight-night (10-12-2003 um 18:24 Uhr)

  5. #5
    Registrierter Benutzer Avatar von Stanislaus
    Registriert seit
    04.07.2003
    Ort
    Mönchengladbach
    Beiträge
    80
    @fight-night Wie offe bereits geschrieben hat liegt das Problem bei der $anfrage. Da auf Deinem Webspace wahrscheinlich register_globals auf on gesetzt ist ( http://www.phptutorials.de/index.php?article=28&tpl=2 ) funktioniert Deine Version dort auch. Lokal wirst Du aber wahrschenlich ein php mit Standardconfig fahren, welches seit afaik 4.1 register_globals auf off gesetzt hat.
    Du bekommst Deine Abfrage entweder per
    $_GET['anfrage'] oder per $_POST['anfrage'].

  6. #6
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hi!

    Ich tippe ebenso wie offe darauf, dass es sich um ein register_globals Problem handelt.
    Wie wird denn das Formular in dem du den Suchbegriff eingibst übertragen - per Post oder per Get?
    Im Falle von Post nimmst du das Beispiel von offe:
    PHP-Code:
    $query "SELECT * FROM dvd WHERE Titel LIKE '%" $_POST['abfrage']  . "%'"
    im Falle von Get entsprechend:

    PHP-Code:
    $query "SELECT * FROM dvd WHERE Titel LIKE '%" $_GET['abfrage']  . "%'"
    Du solltest dir angewöhnen die übergebenen Variablen alle über die Superglobalen Variablen anzusprechen, wenn du willst, dass deine Skripte überall funktionieren.


  7. #7
    Registrierter Benutzer
    Registriert seit
    07.06.2003
    Ort
    Delitzsch
    Beiträge
    28
    Formular methode ist Post und die Globals in der PHP.ini habe ich auch schon umgestellt von off auf on und zurück ??

  8. #8
    Registrierter Benutzer Avatar von Stanislaus
    Registriert seit
    04.07.2003
    Ort
    Mönchengladbach
    Beiträge
    80
    hast Du dich auch nicht verschrieben?
    In deinem ersten posting steht $anfrage und in den weiteren Beiträgen $abfrage.

    Ansonsten poste mal bitte das Formular

    Bis neulich ...

  9. #9
    Registrierter Benutzer
    Registriert seit
    20.07.2001
    Beiträge
    144
    könntest du mal die Ausgabe von:
    PHP-Code:
    echo_"$query<br>";
    print_r($_POST); 
    posten?

    Formular methode ist Post und die Globals in der PHP.ini habe ich auch schon umgestellt von off auf on und zurück ??
    Das die Änderung in der php.ini wirksam werden, mußt du den Webserver neu laden (Bei Suse als root mit rcapache reload).

    Offe
    Geändert von offe (10-12-2003 um 22:54 Uhr)

  10. #10
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Die register_globals bitte auf off lassen - das löst sonst keine Probleme sondern schafft neue!


  11. #11
    Registrierter Benutzer
    Registriert seit
    07.06.2003
    Ort
    Delitzsch
    Beiträge
    28
    Ojeh ...Sorry an alle war ein blöder Firewall fehler funzt jetzt

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •