php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.03.2008, 15:18  
Neuer Benutzer
 
Registriert seit: 29.03.2008
Beiträge: 4
imported_Daniel
Standard Aus MySQL auslesen mit 2 $_REQUEST[''] Variablen

Hi, erstmal: cooles Forum, nicht so werbebepackt, hier fühlt man sich wohl. Zu meinem Problem, ich übergebe an eine Datei 2 Variablen mit deren Hilfe ich Daten aus meiner Datenbank auslesen will. Ich hab euch mal die wichtigen Parts des Quelltextes kopiert:

PHP-Code:
if ($_REQUEST['edit']=='yes')
{
    if (
$_REQUEST['suche_vorname']!="")
    {
        if (
$_REQUEST['suche_nachname']!="")
        {
            
$sqlsearch "SELECT id FROM users WHERE user_vorname = '".$_REQUEST['suche_vorname']."' AND user_nachname = '".$_REQUEST['suche_nachname']."' AND id != '".$_SESSION['session_user_id']."';";
        }
    }
    
    if (
$_REQUEST['suche_vorname']!="")
    {
        
$sqlsearch "SELECT id FROM users WHERE user_vorname = '".$_REQUEST['suche_vorname']."' AND id != '".$_SESSION['session_user_id']."';";
    }
    
    if (
$_REQUEST['user_nachname']!="")
    {
        
$sqlsearch "SELECT id FROM users WHERE user_nachname = '".$_REQUEST['suche_nachname']."' AND id != '".$_SESSION['session_user_id']."';";
    }
    
    
$resultsearch mysql_query($sqlsearch) OR die(mysql_error());

PHP-Code:
if(mysql_num_rows($resultsearch))
{
// Ausgabe

Die 2 Variablen sind $_REQUEST['suche_vorname'] und $_REQUEST['suche_nachname']. Ich hoffe man erkennt das ich je nachdem ob nur der Vorname, Nachname oder beides eingegeben wird, passende Benutzerinformationen aus der Datenbank auszulesen.

Das funktioniert allerdings komischerweise nur wenn ich einen Vornamen eingebe, wenn ich nach einem Nachnamen suche, wird ständig "Query was empty" angezeigt, obwohl tatsächlich passende Datensätze in der Datenbank sind.

Sieht jemand den Fehler? Gibt es vielleicht einen eleganteren Weg? Sollte ich den Befehl "LIKE" in der MySQL abfrage benutzen um bei auch Nachnamen wie "M." zu finden wenn der Benutzer "Meier" eingibt?

Vielen Dank schonmal im Voraus für eure Hilfe .
imported_Daniel ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.03.2008, 16:25  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

hi,

zunächst einmal solltest du deine variablen initalisieren. also vor den code den du gepostet hast schreibst du:

PHP-Code:
$sqlsearch=''
dann, hast du viele ungereimheiten in deinem code, z.b, was ist das?

PHP-Code:
if ($_REQUEST['suche_vorname']!=""
    { 
        if (
$_REQUEST['suche_nachname']!=""
desweiteren solltest du dich mit der typenunsicherheit in php auseinandersetzen. so z.b.:

type juggling
type comparsion

beachte das eine ungesetzte variable bzw. array indes NULL entspricht.

gruß
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline  
Alt 29.03.2008, 16:41  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Du verwendest 2 verschiedene Variablen:
Zitat:
if ($_REQUEST['user_nachname']!="")
Zitat:
$sqlsearch = "SELECT id FROM users WHERE user_nachname = '".$_REQUEST['suche_nachname']."' AND id != '".$_SESSION['session_user_id']."';";
Wichtig:
Benutze unbedingt mysql_real_escape_string (), ansonsten kann man über die URL beliebigen Code in Deine Query einschleusen.

Btw: Willkommen und viel Spaß hier im Forum!
.
nikosch ist gerade online  
Alt 29.03.2008, 17:49  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Wie wäre es mit der Funktion empty um die Request Variablen zu checken? Gibt dann auch keinen PHP Fehler (bzw. Notice), wenn die Variablen nicht gesetzt sind.

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline  
Alt 29.03.2008, 18:01  
Neuer Benutzer
 
Registriert seit: 29.03.2008
Beiträge: 4
imported_Daniel
Standard

Zitat:
Zitat von brian johnson
hi,
dann, hast du viele ungereimheiten in deinem code, z.b, was ist das?

PHP-Code:
if ($_REQUEST['suche_vorname']!=""
    { 
        if (
$_REQUEST['suche_nachname']!=""
Das sollte eigentlich

PHP-Code:
if ($_REQUEST['suche_vorname']!="" AND $_REQUEST['suche_nachname']!=""
sein, also die Bedingung dafür das im Suchformular zuvor Vorname und Nachname eingegeben wurden.

mysql_real_escape_string () - guter Tipp.
imported_Daniel ist offline  
Alt 29.03.2008, 18:04  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Dann mach gleich

PHP-Code:
if(!empty($_REQUEST['suche_vorname']) && !empty($_REQUEST['suche_nachname'])) {


daraus.

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline  
Alt 30.03.2008, 13:02  
Neuer Benutzer
 
Registriert seit: 29.03.2008
Beiträge: 4
imported_Daniel
Standard

Mies. Funktioniert alles super . Danke für eure Hilfe.
imported_Daniel ist offline  
Alt 31.03.2008, 09:59  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.034
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Noch etwas einfacher:
PHP-Code:
<?php 
if ($_REQUEST['edit'] == 'yes'){
    
$cond = array();
    if (!empty(
$_REQUEST['suche_vorname'])){
        
$cond[] = "user_vorname = '" $_REQUEST['suche_vorname'] . "'";
    }
    if (!empty(
$_REQUEST['suche_nachname'] != "")){
        
$cond[] = "user_nachname = '" $_REQUEST['suche_nachname'] . "'";
    }
    
$cond[] = "id != " $_SESSION['session_user_id'];
    
    
$sqlsearch "
        SELECT 
            id 
        FROM 
            users 
        WHERE " 

            
implode(' AND '$cond) ;

    
$resultsearch mysql_query($sqlsearch) OR die(mysql_error());
}
?>
__________________
Gruss
L
lazydog ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variablen in Datenbank speichern und auslesen freehawk PHP-Fortgeschrittene 4 16.03.2008 17:22
Dynamisch Array aus MySQL mit PHP auslesen. Muuip PHP Tipps 2008 2 26.08.2007 21:19
Alle Variablen in der URL auslesen und übergeben Plague PHP Tipps 2007 6 24.02.2007 13:36
[Erledigt] MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
Mehrfacherfassung, Variablen erneut auslesen PHP Tipps 2005-2 5 17.10.2005 13:54
Array aus MySQL auslesen und permutieren? PHP Tipps 2005-2 2 24.07.2005 14:11
[Erledigt] Auslesen und Aktualisieren von einer MYSQL Datenbank PHP Tipps 2005-2 3 05.07.2005 14:39
XMl Datei auslesen und auf unterschiedl. variablen speichern Tigermoon PHP Tipps 2005 1 29.04.2005 22:05
php Variablen in MySQL Abfrage verwenden (WHERE Bedingung) PHP Tipps 2005 20 20.04.2005 20:05
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
Alle Session Variablen auslesen? SRWeb PHP Tipps 2004-2 2 07.12.2004 20:10
jede 2. Zeile aus MySQL Tabelle auslesen PHP Tipps 2004-2 4 09.11.2004 14:25
[Erledigt] Parsen von Variablen aus einer MySQL Tabellenzeile Datenbanken 0 29.09.2004 14:58
Auslesen aus Mysql mit php PHP Tipps 2004 10 08.09.2004 15:36
aus mysql db auslesen und in datei schreiben. Sclot PHP Tipps 2004 2 19.07.2004 21:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
_request auslesen, $_request[\'php_var\'] auslesen, $_request auslesen, mysql $_request, $_request, php _request auslesen, http://www.php.de/php-tipps-2008/45718-aus-mysql-auslesen-mit-2-_request-variablen.html, $_request variablen, mysql variablen auslesen, php mysql variable auslesen, php mysql variablen auslesen, was ist $_request, php variable aus mysql auslesen, php request variable, php request auslesen, php variable mysql auslesen, _request php, $_request mysql, mysql variablen, $_request auslesen php

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.