php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.07.2005, 20:45  
Benutzer
 
Registriert seit: 04.06.2005
Beiträge: 30
JonathanArcher
Standard if(isset in Variable verwenden

Hi!
Ich möchte die PLZ eines Users in eine Datenbank schreiben. Den "Query-Text" schreibe ich dafür in eine Variable. Weil aber die PLZ nicht immer übergeben wird (man kann im vorherigen Formular das Feld auch leer lassen) brauche ich dafür einen isset befehl.
Habe folgenden Code, der immer einen parse error ausspuckt:
PHP-Code:
<?php    $sql "INSERT INTO    users
                ("
if(isset($_POST['plz'])){."plz,".};"
                etc.)etc...
        "
;
?>
Ich komme einfach nicht dahinter wo das Problem liegt. Ich habe schon die Punkte vor den dopp. Anführungszeichen in allen möglich Variationen gecheckt: nichts.
JonathanArcher ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.07.2005, 20:56  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<?php
if (!empty($_POST['plz'])) {
    
$sql "...";
} else {
    
$sql "....";
}
?>
Corvin ist offline  
Alt 31.07.2005, 21:01  
Benutzer
 
Registriert seit: 04.06.2005
Beiträge: 30
JonathanArcher
Standard

Zitat:
Zitat von Corvin Gröning
PHP-Code:
<?php
if (!empty($_POST['plz'])) {
    
$sql "...";
} else {
    
$sql "....";
}
?>
Sicher, dass es nicht anders geht? Denn dann müsste ich so ca. elseif Teile machen, da das Problem nicht nur bei PLZ, sondern auch bei Straße, Haus#, Tele# usw. vorhanden ist?
__________________
Die Borg würden nicht einmal Spaß verstehen, wenn sie einen ganzen Funpark assimilieren würden. --B'Elana Torres --
JonathanArcher ist offline  
Alt 31.07.2005, 21:35  
Erfahrener Benutzer
 
Registriert seit: 27.10.2004
Beiträge: 1.093
PHP-Kenntnisse:
Fortgeschritten
Chr!s
Standard

Doch geht anders:
Mit dem sog. "ternären Operator":
$variable = ($bedingung) ? $wenn_true : $wenn_false;

Lässt sich ungefähr so lesen:
Falls $bedingung wahr ist (TRUE) ist $variable $wenn_true, ansonsten $wenn_false.
Chr!s ist offline  
Alt 31.07.2005, 21:38  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

du weist schon, dass du in deinem code einfach hinter das erste (" einen punkt setzten müsstest und es gehen würde, ne?
Buhmann ist offline  
Alt 31.07.2005, 21:43  
Erfahrener Benutzer
 
Registriert seit: 02.04.2008
Beiträge: 2.603
Corvin befindet sich auf einem aufstrebenden Ast
Standard

Ansatz:
PHP-Code:
<?php
$sql 
"INSERT INTO users (foo, bar, " .( (empty($_POST['plz'])) ? "" "plz" ) .")";
?>
Corvin ist offline  
Alt 31.07.2005, 21:44  
Benutzer
 
Registriert seit: 04.06.2005
Beiträge: 30
JonathanArcher
Standard

Zitat:
Zitat von Buhmann
du weist schon, dass du in deinem code einfach hinter das erste (" einen punkt setzten müsstest und es gehen würde, ne?
Meinst du mich? Das ergibt doch keinen Sinn. Wieso sollte ich vor isset einen Punkt machen?
__________________
Die Borg würden nicht einmal Spaß verstehen, wenn sie einen ganzen Funpark assimilieren würden. --B'Elana Torres --
JonathanArcher ist offline  
Alt 31.07.2005, 21:48  
Benutzer
 
Registriert seit: 04.06.2005
Beiträge: 30
JonathanArcher
Standard

Zitat:
Zitat von Corvin Gröning
Ansatz:
PHP-Code:
<?php
$sql 
"INSERT INTO users (foo, bar, " .( (empty($_POST['plz'])) ? "" "plz" ) .")";
?>
mhm... Was ist denn das? Ich versteh's jedenfalls nicht. fehlt da nich das "if"... aber das ist ja auch keine if-Abfrage ?!
__________________
Die Borg würden nicht einmal Spaß verstehen, wenn sie einen ganzen Funpark assimilieren würden. --B'Elana Torres --
JonathanArcher ist offline  
Alt 31.07.2005, 21:50  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von JonathanArcher
Zitat:
Zitat von Buhmann
du weist schon, dass du in deinem code einfach hinter das erste (" einen punkt setzten müsstest und es gehen würde, ne?
Meinst du mich? Das ergibt doch keinen Sinn. Wieso sollte ich vor isset einen Punkt machen?
tja, weils dann funktioniert

[EDIT] äh geht doch nicht, ich hab einfach nur diesen fehler gesehen und net weitergeguckt, aber da is noch einer. So gehts aber:
PHP-Code:
<?php
$sql 
"INSERT INTO   users 
            "
.(isset($_POST['plz'])?"plz = '".$_POST['plz']."',":"")."
            lala = lulu,
            .... ;"
;
?>
Buhmann ist offline  
Alt 31.07.2005, 22:02  
Benutzer
 
Registriert seit: 04.06.2005
Beiträge: 30
JonathanArcher
Standard

Zitat:
Zitat von Buhmann
Zitat:
Zitat von JonathanArcher
Zitat:
Zitat von Buhmann
du weist schon, dass du in deinem code einfach hinter das erste (" einen punkt setzten müsstest und es gehen würde, ne?
Meinst du mich? Das ergibt doch keinen Sinn. Wieso sollte ich vor isset einen Punkt machen?
tja, weils dann funktioniert

[EDIT] äh geht doch nicht, ich hab einfach nur diesen fehler gesehen und net weitergeguckt, aber da is noch einer. So gehts aber:
PHP-Code:
<?php
$sql 
"INSERT INTO   users 
            "
.(isset($_POST['plz'])?"plz = '".$_POST['plz']."',":"")."
            lala = lulu,
            .... ;"
;
?>
mhm... und was ist das für eine kryptische Sprache? Ich hasse es einen Code zu übernehmen ohne wenigstens zu wissen, was es ist, damit ich ihn irgendwann verstehen kann. Ich hasse ja auch Scriptkiddies

Edit: Wir reden doch schon vom gleichen Insert Befehl der Form:
INSERT INTO tabelle(spalten) VALUES(werte);
__________________
Die Borg würden nicht einmal Spaß verstehen, wenn sie einen ganzen Funpark assimilieren würden. --B'Elana Torres --
JonathanArcher 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
Variable aus Subselect in JOIN verwenden GSJLink Datenbanken 5 25.05.2008 11:36
Variable in SQL Anweisung verwenden Beatbox PHP Tipps 2006 2 08.08.2006 16:32
variable wird nich erkannt. Marian PHP Tipps 2006 1 03.04.2006 21:25
PHPMailer findet eigene Variable net seejay PHP Tipps 2007 6 04.01.2006 12:55
Variable durch 2. Variable bestimmen Quagga PHP Tipps 2005-2 11 26.10.2005 17:34
Variable als Variable behandeln ohne den Wert zu verwenden Pain-maker PHP Tipps 2005-2 4 11.09.2005 17:28
Session Variable oder Globale Variable ? PHP Tipps 2005-2 3 27.06.2005 21:49
Variable in Variable Matthiasnet PHP Tipps 2005 6 20.03.2005 23:28
[Erledigt] Fehlermeldung unterdrücken wenn keine variable übergeben... PHP Tipps 2005 6 20.03.2005 13:36
Variable in einer Variable Beatbox PHP Tipps 2005 7 15.01.2005 15:55
Warum wird Variable nicht übergeben??? Anuschka PHP Tipps 2005 2 06.01.2005 13:22
[Erledigt] $_SESSION verwandelt variable auf einem Server in ein Array PHP-Fortgeschrittene 2 16.12.2004 13:25
[Erledigt] JS Variable im HTML Code verwenden HTML, Usability und Barrierefreiheit 1 05.10.2004 08:52
2 Schleifen durchlaufen PHP Tipps 2004 1 14.09.2004 14:33
Auf Variable in extern gelagerter Funktion verwenden HTML, Usability und Barrierefreiheit 6 09.09.2004 14:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
if isset verwenden, sql if isset

Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 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.